1.、 aspx 页面代码
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="100%" Font-Names="Verdana"
Font-Size="8pt" InteractiveDeviceInfos="(集合)" WaitMessageFont-Names="Verdana"
WaitMessageFont-Size="14pt" Height="600px">
<LocalReport ReportPath="子报表.rdlc" OnSubreportProcessing="ReportViewer1_SubreportProcessing">
//ReportViewer1_SubreportProcessing方法绑定子报表数据源
</LocalReport>
</rsweb:ReportViewer>
页面注册:
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
2、. cs页面代码
父报表:
this.ReportViewer1.LocalReport.DataSources.Clear();
this.ReportViewer1.LocalReport.ReportPath = @"父报表rdlc";
this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1", 数据源));
子报表:
protected void ReportViewer1_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
ReportDataSource dataSource = new ReportDataSource("DataSet1", 数据源);
e.DataSources.Add(dataSource);
}
3、父报表文件:
(1)、 插入一个表格,将子报表和父报表需要显示的信息同时放到一个矩形框中,并将矩形框放入到插入的表格当中。
(2)、设置子报表属性,将建立的子报表填写到“常规”->将此报表用做子报表属性中
(3) 、在“参数”属性中,可添加将要传递到子报表的参数。
4、子报表文件:
(1)、插入表格,在左侧“报表数据”选项中“参数”一项添加参数与父报表中参数相对应。在子报表的“Tablix属性”中“筛选器”中添加筛选器,与参数相对应。
(2)、对子报表进行分组显示数据等操作。