17

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

4

5 回答 5

15

您可以使用得到报告查看器中的“动态生成 RDLC - 表”示例吗?

于 2010-07-30T08:03:35.020 回答
2

感谢所有回答此问题的人的回复,但我找到了一篇生成动态报告的好文章:Dynamic Reports with Reporting Services

于 2010-07-30T09:59:32.163 回答
1

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

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

听起来工作量很大;)

于 2010-07-30T07:57:40.053 回答
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();
于 2014-06-17T10:30:44.820 回答
0

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

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

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

  • 定义新列的标题 - 在 Header 节点中添加一个新的 TableCell
  • 将列与数据绑定(来自 DataTable)——在 Details 节点中添加一个新的 TableCell
  • define the width of the colum – add a new TableColumn inside TableColumns
于 2014-07-15T21:36:06.280 回答