如何在运行时动态生成RDLC中的列?

时间:2018-02-25 15:36:36

标签: c# winforms visual-studio-2015 ssrs-2008

我需要在RDLC报告中动态生成列。该报告显示支付给每位员工的工资分解。

背景
需要动态列创建,因为每个组织都有一个独特的薪资结构,我们已经为客户提供了创建自定义薪资结构的便利。

我正在使用:

  • Visual Studio 2015
  • SQL Server 2008 R2 Express
  • Windows 10 Pro x64
  • .Net 4.5.2`

在我看来,这篇文章中的第3个选项符合我的目的 - Generate columns dynamically in RDLC

我想做什么:

  1. 在调用表单中动态创建表(我已成功完成此操作)
  2. 动态生成XSD。我在这里面临的问题是:
    1. 如何动态创建XSD?我知道如何创建XML文件。但我的问题是:
      1. 我应该在哪里写这段代码?
      2. 我应该在运行时将XSD存储在哪里以便RDLC可以从中读取?
    2. .xsd文件一起,我可以看到其他文件的扩展名为.cs.Designer.cs.xsc.xss。我是否还需要对这些进行更改?
  3. 如何根据此xsd动态创建.RDLC文件来创建列和行?
  4. 我应该在哪里为.RDLC文件编写此代码?
  5. 我在哪里存储运行时的RDLC文件?
  6. 上述步骤是否正确或是否有其他方法可以执行此操作?
  7. Desired Output Actual Output with dynamic columns in DGV

    错误:An error occured during local report processing. The definition of the report " in invalid. The definition of this report is not valid or supported by this version of Reporting Services. The report definition may have been created with a later version of Reporting Services, or contain content that is not well-formed or not valid based on Reporting Services schemas. Details: Deserialization failed: The element 'Fields' in namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' has incomplete content. List of possible elements expected: 'Field' in namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition'. Line 15, position 9.

0 个答案:

没有答案