如何在运行时使用C#生成RDLC文件

17

我正在进行一些应用程序开发(CRM解决方案),需要在运行时以图形方式生成一个RDLC文件。 我该怎么做?

我正在开发一个应用程序(CRM解决方案),需要在运行时以图形方式生成RDLC文件。请问如何实现?
5个回答

15
您可以使用gotreportviewer页面上的“生成动态RDLC-表”示例,有关详情请参阅got reportviewer页面。

2

1

您只需要通过编程更改数据源,例如:

        ReportViewer.LocalReport.DataSources.Clear();
        ReportViewer.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;


        ReportDataSource RDS = new ReportDataSource();
        RDS.Name = "DataSet";


        RDS.Value = itemReportTableBindingSource;
        ReportViewer.LocalReport.ReportEmbeddedResource = "RFID.Reports.ItemsReport.rdlc";
        ReportViewer.LocalReport.DataSources.Add(RDS);

        this.itemReportTableTableAdapter.Fill(this.reportsDataSet.ItemReportTable);
        this.ReportViewer.RefreshReport();

1

请问您是想基于RDLC构建动态报表解决方案,还是只需要挖掘CRM中存储的数据并在RDLC中展示它?我猜您已经尝试过其他工具,如Proclarity和Excel,以便用户挖掘数据。

如果是前者(即RDLC设计师),那么RDLC只是一个XML文件,因此我猜您可以通过在首先从设计师导出某种xml“模型”后应用XSLT来创建包含数据源、字段定义、单元格等简单标准RDLC?

听起来像是很多工作;)


0

您应该查看这个链接,它可能会有帮助

如何在 Reporting Services 创建的报表中动态添加新列?

RDLC 报表是一个 XML 文件,通过在 XMLDocument 中编辑它,您可以修改 locate /Report/Body/ReportItems/Table 节点并在其中执行以下操作:

  • 定义新列的标题 - 在 Header 节点内添加新的 TableCell
  • 将列与数据(来自 DataTable)绑定 - 在 Details 节点内添加新的 TableCell
  • 定义列的宽度 - 在 TableColumns 内添加新的 TableColumn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接