C# 如何在SSRS子报表中填充数据集?
这似乎是微不足道的,但我有困难 我有一个主报告,我一直在C# 如何在SSRS子报表中填充数据集?,c#,asp.net,reporting-services,reportviewer,C#,Asp.net,Reporting Services,Reportviewer,这似乎是微不足道的,但我有困难 我有一个主报告,我一直在ReportViewer.aspx.cs中填充以下数据集。 ReportViewer.LocalReport.ReportPath = "~/SummaryReport.rdlc"; ReportDataSource requestsSource = new ReportDataSource(); requestsSource.Name = "RequestHeadersDataSet"; requestsSource.Value = Ge
ReportViewer.aspx.cs中填充以下数据集。
ReportViewer.LocalReport.ReportPath = "~/SummaryReport.rdlc";
ReportDataSource requestsSource = new ReportDataSource();
requestsSource.Name = "RequestHeadersDataSet";
requestsSource.Value = GetSummaryRequestsDataSet(); // Returns DT
ReportViewer.LocalReport.DataSources.Add(requestsSource);
我还有一个子报表,它在我的主报表中表中的行组中引用。数据集具有列RequestName
。我通过Parameters选项卡中的Subreport属性将其传入
一旦我将数据集添加到子报表中,就会出现一个错误:子报表的数据检索失败。
考虑到我从未填充过任何内容,这并不奇怪
但是如何添加到子报表数据源?ReportViewer的reportpath设置为“我的主报告”
如果有任何影响,两者都使用相同的数据集。您需要使用设置数据源。另见下文
从提供的链接
SubreportProcessing事件将为的每个实例触发
主报表中的子报表,而不仅仅是每个子报表
定义。如果报表包含来自的多个子报表实例
在相同的报告定义中,每个实例都会触发此事件
如果主报表有多个子报表,则可以检查
要复制的SubreportProcessingEventArgs类的ReportPath属性
确定正在处理的子报表并提供该子报表的数据
子报告
谢谢你的回复。当我有多个子报告,每个子报告都有自己的数据集时,这是如何工作的?
ReportViewer.LocalReport.SubreportProcessing +=
new SubreportProcessingEventHandler(exampleSubreportProcessingEventHandler);
void exampleSubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)
{
e.DataSources.Add(new ReportDataSource("SubReportDataSet", GetSummaryRequestsDataSet()));
}