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

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

您可以使用来自reportviewer的 ‘生成RDLC动态 – 表’示例吗? 页

感谢所有回答此问题的人的回复,但我发现了一篇很好的文章来生成动态报告: 带有Reporting Services的动态报告 。

我是否可以确认您正在尝试构建基于RDLC的动态报告解决方案,或者您是否只需要挖掘存储在CRM中的数据并将其显示在RDLC中。 我猜你已经用尽了其他工具,比如Proclarity和Excel,供用户挖掘数据。

假设前者(即RDLC设计者),那么RDLC只是一个XML文件,所以我猜你可以通过在首次导出某种xml“模型”之后应用XSLT来创建包含数据源,字段定义,单元格等的简单标准RDLC。来自你的设计师?

听起来很多工作;)

您所要做的就是通过编码更改数据源。 喜欢

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

您应该查阅此链接,这可能会有所帮助

如何动态地将新列添加到使用Reporting Services创建的报表?

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

  • 定义新列的标头 – 在Header节点中添加新的TableCell
  • 使用数据绑定列(来自DataTable) – 在Details节点中添加新的TableCell
  • 定义列的宽度 – 在TableColumns中添加一个新的TableColumn