没有子报表处理事件的RDLC子报表

时间:2014-11-12 08:01:21

标签: c# wpf reporting rdlc objectdatasource

我想在主报表中使用子报表,但不使用或处理子报表处理事件。

当我制作一个具有报表查看器控件的通用表单时,我只需要向该控件发送一个报表。包含的报告可能有也可能没有子报告。

请建议我可能适合上述情况的任何可能情况或其他报告控制。

查看型号代码

Microsoft.Reporting.WinForms.LocalReport report = new Microsoft.Reporting.WinForms.LocalReport();
            var reportDataSource = new Microsoft.Reporting.WinForms.ReportDataSource { Name = "AllEmployeeData", Value = EmployeeList };
            report = new Microsoft.Reporting.WinForms.LocalReport();
            report.ReportEmbeddedResource = "RDLCReport.Reports.RptEmployee.rdlc";
            report.DataSources.Add(reportDataSource);
            //This is the event which publish and subscribed in view to display report
            EventAggregator.GetEvent<ShowReport>().Publish(new Dictionary<string, object>() { { "Rpt", report } });

查看代码

 private void ShowReport(Dictionary<string, object> obj)
        {
            this.ReportViewer.Report = new RDLCPrinter((Microsoft.Reporting.WinForms.LocalReport)obj["Rpt"]);
            this.ReportViewer.SetFitToWindowMode();
        }

1 个答案:

答案 0 :(得分:2)

子报表处理事件存在,因为子报表将包含数据,该数据与主报表中显示的数据相关。

例如:

您有Ivoices报告。对于每张发票,此发票中都有一个产品列表。您可以在子报表处理事件中获取特定发票的产品。

如果您不需要使用子报表处理事件,这意味着您可能不需要使用子报表。