zoukankan      html  css  js  c++  java
  • RDLC报表系统子报表

    RDLC子报表主要设置:

        1 .先添加报表控件,在控件中拉入报表的表格Table 控件,在报表工具栏中拖入子报表控件到Table的某个单元格.

        2 .在子报表控件上右键子报表属性,选择选项卡常规-名称 添加子报表的名称 可自定义,将此报表用做子报表       中添加 已存在的报表名称,例如SaleMonthReport 不需要加.rdlc 后缀名。   

       3.选择参数选项卡,添加参数(参数可以使主报表的数据集内容,参数等) 名称可以自定义(注意:自定义的名称必须和子报表参数同名,并且在子报表添加 参数后 在测试,否则会报 本地报表呈现错误,value 值不能为Null的错误),值为数据集值、参数、内置字段、固定值 等。

    到此 基本子报表配置完成。后面通过代码注册子报表   

      4.在aspx后台代码中 其他代码和普通代码类似,主要注册主报表的 SubReportProcessing 事件

    ReportViewer1.LocalReport.SubreportProcessing += new     SubreportProcessingEventHandler(LocalReport_SubreportProcessing);  

       5.在LocalReport_SubreportProcessing 中添加子报表的数据源

       这里通过 string fname=e.Parameters["fname"].Values[0]; 取得子报表参数值,这里根据参数值 取得报表的数据(还有一种方法是这里不适用参数取子报表的数据,将所有的数据全部取出,然后报表会根据参数自动显示符合参数的数据内容,当数据量庞大时,效率不高) .

    Datatable dtDetail=new class1().getModelByName(fname); //这个最好写在外面,为什么大家应该知道,因为有多少条主报表数据,子报表就会循环多少次。

     e.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("dtDetail", dtDetail)); //添加子报表的数据

    完整代码:

    ReportViewer1.Visible=true;         

    ReportViewer1.LocalReport.DataSources.Clear();            

    ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dtInfo));  

    ReportViewer1.LocalReport.SubreportProcessing += new     SubreportProcessingEventHandler(LocalReport_SubreportProcessing);           

    ReportViewer1.LocalReport.Refresh();

     void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)         {

      string fname=e.Parameters["fname"].Values[0];

      Datatable dtDetail=new class1().getModelByName(fname);

      e.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("dtDetail", dtDetail));

    }

  • 相关阅读:
    PBRT笔记(3)——KD树
    PBRT笔记(2)——BVH
    PBRT笔记(1)——主循环、浮点误差
    《Ray Tracing in One Weekend》、《Ray Tracing from the Ground Up》读后感以及光线追踪学习推荐
    在Node.js中使用ffi调用dll
    Node.js c++ 扩展之HelloWorld
    在Qt中配置TBB以及简单实用
    对《将Unreal4打包后的工程嵌入到Qt或者桌面中》一文的补充
    QtQuick大坑笔记之Http的Get与Post操作(带cookie)
    QtQuick自定义主题以及控件样式指引
  • 原文地址:https://www.cnblogs.com/wjbobo/p/2362115.html
Copyright © 2011-2022 走看看