RDLC 子报表

2018-06-17 22:08:49来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

1.RDLC 设计页面,拖入table或者矩形

2.右击表格或者矩形单元格,插入--子报表

3.输入名称和将此报表用作子报表

   名称:显示在设计页面上的,仅作观看作用

  将此报表用作子报表:填写目录下的需要作为子报表的RDLC文件的文件名称(XXX.RDLC),只需要文件名称不需要.RDLC后缀名称。

4.右击子报表单元格,子报表属性--参数,添加需要传给子报表的参数信息

5.打开子报表设计页面的报表属性,右击参数,添加参数,输入第4步填写的参数名称

6.

 viewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
//主函数添加
 void LocalReport_SubreportProcessing(object sender, Microsoft.Reporting.WebForms.SubreportProcessingEventArgs e)
        {
            var errCode = 100;
            try
            {
                if (e.DataSourceNames[0] == "dsJcxh")
                          //这里引号里替换成子报表的数据集名称
                {
                    errCode = 3;
                    e.DataSources.Add(new ReportDataSource("dsJcxh", GetSupervisionSamplingDetailData(e)));
//如果只有1个子报表ELSE后面就不需要了,3个以上 多次IF判断就可以了
                }
                else
                {
                    errCode = 4;
                    e.DataSources.Add(new ReportDataSource("dsUr", GetUseRegisterData(e)));
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message + ":" + errCode);
            }
        }
   public List<StatisticalLedger> GetSupervisionSamplingDetailData(SubreportProcessingEventArgs e) {
           //接受子报表RDLC里面的参数
            string productDictId =e.Parameters["productDictId"].Values[0];
            string spec = e.Parameters["spec"].Values[0];
            string certificateNo = e.Parameters["certificateNo"].Values[0];    
                   var list = new StatisticalLedgerBL().GetSupervisionSamplingDetailData(productDictId, spec, certificateNo);
            return list;
        }
        public List<StatisticalLedger1> GetUseRegisterData(SubreportProcessingEventArgs e)
        {
           //接受子报表RDLC里面的参数
            string productDictId = e.Parameters["productDictId"].Values[0];
            string spec = e.Parameters["spec"].Values[0];
            var list = new StatisticalLedgerBL().GetUseRegisterData(productDictId, spec);
            return list;
        }
       
View Code

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何显示二进制流的图片(利用img控件)

下一篇:使用C#向Sql Sever中存取网络图片和本地图片(二进制流的形式)