RDLC报告如何创建多个?

时间:2011-05-30 17:18:46

标签: c# reportviewer


假设您有一个CustomerReport.rdlc报告,该报告适用于一个客户....
是否可以在同一报告查看器中拥有多个客户报告? 如果不是另一种解决方案?

3 个答案:

答案 0 :(得分:1)

是的,可以为所有客户提供一份报告。基本上,您定义报表模板CustomerReport.rdlc以从某些数据集(存储过程或数据层中的某个方法)获取数据。

代表。你的方法应该是这样的:

public DataTable GetCustomerDetails(int customerID)
{
    //call stored procedure
}

然后在ReportViewer的页面上执行以下操作:

DataTable data = GetCustomerDetails(1);
this.ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;
this.ReportViewer1.LocalReport.ReportPath = "CustomerReport.rdlc";
this.ReportViewer1.LocalReport.DataSources.Clear();
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("[Datasource name defined in CustomerReport.rdlc]", data));
this.ReportViewer1.LocalReport.Refresh();

答案 1 :(得分:0)

单个reportviewer控件将显示单个.rdlc文档,以及“父”.rdlc中一次包含的任何子报表。如果您使用Web表单,最好不要尝试将第二个报表“重新加载”到报表查看器中。最好清空包含reportviewer的div并创建reportviewer控件的新实例并将其插入容器(div / span / etc。)

之后,只需确保将客户特定数据指定为数据源即可。

答案 2 :(得分:0)

解决方案似乎是代码生成rdlc !!