我想在主报表中使用子报表,但不使用或处理子报表处理事件。
当我制作一个具有报表查看器控件的通用表单时,我只需要向该控件发送一个报表。包含的报告可能有也可能没有子报告。
请建议我可能适合上述情况的任何可能情况或其他报告控制。
查看型号代码
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();
}
答案 0 :(得分:2)
子报表处理事件存在,因为子报表将包含数据,该数据与主报表中显示的数据相关。
例如:
您有Ivoices报告。对于每张发票,此发票中都有一个产品列表。您可以在子报表处理事件中获取特定发票的产品。
如果您不需要使用子报表处理事件,这意味着您可能不需要使用子报表。