【问题标题】:.NET RDLC Report Matrices.NET RDLC 报告矩阵
【发布时间】:2010-03-02 19:36:58
【问题描述】:

我在管理 RDLC 报告时遇到了麻烦。我在 Internet 上找不到任何全面的教程,而且 MSDN 也没有我希望的那样有用。

特别是,我在尝试根据客户的要求显示特定表格/矩阵时遇到问题。是这样的。

在数据库中,我有两个表:(为了保密,替换了假名)

  • 宇宙飞船信息(包含维修、燃料和其他飞船信息的价格)
  • 备件(包含各种备件的信息)

报告中的表格应该是这样的:

https://i53.photobucket.com/albums/g59/Sazabi02/Capture.png .

  • 蓝色标题包含宇宙飞船信息
  • 紫色标题包含备件信息
  • 红色是总数

需要注意的事项包括:

  • 备件列必须是 动态的。有很多种 备件和硬编码一切 不切实际。
  • 布局被明确指定为这种方式。动态列放置在
  • 宇宙飞船完全有可能没有任何备件。我将它留在数据库中,但它导致 RDLC 中的列分组为没有备件的宇宙飞船生成一个空白列。

在非动态列之间。 (对此有问题。AFAIK 列会自动放置在右侧,并且无法将它们放置在中间。

我已经尝试了一些方法。在令人沮丧地试图使矩阵按我认为的意图工作并且喜欢将其分成三个单独的表之后,在键盘上敲打我的头并没有奏效。一个为总数。一种用于动态,另一种用于固定列。 (实际上是两个,因为一个固定列应该在动态列之前,其他列在动态列之后。)

谁能提供一些关于如何在 Visual Studio RDLC 报告中执行此操作的见解?

【问题讨论】:

    标签: .net matrix report rdlc


    【解决方案1】:

    您尝试做的事情并不容易,但可以做到,我会给您几点开始。如果您需要更多信息,请询问。至于矛部件的动态列就是这样做的。收集将显示的所有船舶的所有可能部件的列表。Rdlc 文件实际上是一个 xml 文件。您可以使用 XmlDocument 打开它并根据需要生成任意数量的列。您可以将 XmlDocument 的更改内容直接传递给报表查看器。在 xml 中添加列有点棘手。首先使用设计器创建 rdlc 报告,保存并创建复制不同名称的 rdlc 文件。然后用设计器再次打开它并删除一列。保存并比较这两个 xml,这将显示您需要在 xml 中为新列添加的内容。这样,您将创建动态列。作为数据源传递的表必须以这样一种方式创建,即它具有所有运送列和每个部分的列。此表中的每一行都将被运送,并且仅在列中船上的零件会有价值。如果您需要更多信息,请询问
    Best Regarsd,
    Iordan

    【讨论】:

    • 谢谢。我快要失去希望了,于是求助于一些我并不引以为豪的硬编码查询。我真的在寻找一种非设计师的方法来编辑 RDLC。谢谢。我会试试你的建议。
    • 您可以在没有设计器的情况下创建或编辑 RDLC 文件 RDLC 实际上是一个 xml 文件。但是为了能够从头开始手动创建 RDLC 文件,您需要对 RDLC xml 格式有很好的了解。这就是为什么我建议由设计师创建 rdlc 并用记事本打开它以查看生成的 xml。