Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在SSRS子报表中填充数据集?_C#_Asp.net_Reporting Services_Reportviewer - Fatal编程技术网

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()));
    }