使用Microsoft.Reporting.WinForms动态加载嵌入式资源报表

时间:2020-03-06 15:02:01  来源:igfitidea点击:

如何从嵌入式资源动态加载新报告?我创建了一个报告项目,其中包含一个作为嵌入式资源的报告。我添加了第二个报告文件,并使用以下代码切换报告:

this.reportViewer1.LocalReport.ReportEmbeddedResource = "ReportsApplication2.Report2.rdlc";
this.reportViewer1.LocalReport.Refresh();
this.reportViewer1.RefreshReport();

执行此代码后,原始报告在报告查看器中仍然可见。

我也尝试使用

LocalReport.LoadReportDefinition

但结果相同。

解决方案

答案:你必须打电话

<ReportViewer>.Reset();

在更改ReportEmbeddedResource的值或者调用LoadReportDefinition之前。

这样做之后,我们还必须致电

<ReportViewer>.LocalReport.DataSources.Add( ... );

重新建立数据源。