【问题标题】:How to create an RDLC report when total number of columns are unknown?当总列数未知时如何创建 RDLC 报告?
【发布时间】:2019-02-07 20:17:29
【问题描述】:

我正在创建的其中一个报告具有动态列数 - 从存储过程返回的数据表,列数取决于数据库中定义的项目数(每个项目一列,除了一些固定的列)。

在这种情况下,我可以使用 RDLC 报告生成报告吗?所有的计算都已经在他的报告中完成了,我查看 RDLC 只是为了导出到 excel/pdf 并重复页眉/页脚。

【问题讨论】:

    标签: asp.net rdlc dynamic-rdlc-generation


    【解决方案1】:

    这是可能的,但没有简单的解决方案。这是我以前对此主题的回答的link

    稍后再进行调查

    这是一个article,详细描述了使用自生成的 RDL 对象模型生成的上述报告。

    【讨论】:

    • 但这似乎处理基于 sql server 的报告 - 我需要从数据表生成报告。
    • 链接答案的 RDLOM 部分是基于 sql server 的,但 RDLOM 似乎是一个死胡同,因此没有实际意义。自行生成的对象模型可以使用或不使用 SQL Server。您可以在 Visual Studio 中与数据表断开连接的情况下使用它们。
    • 你指的是这个链接吧? msdn.microsoft.com/en-us/library/aa337455%28SQL.90%29.aspx。我不明白它是如何与此相关的——我所看到的只是如何在本地编辑报告定义。您能否详细说明如何动态生成对象模型?
    • O.. 现在我开始明白你在说什么了 - 让我试试看.. 如果这行得通,你真的应该得到赏金!
    • 我已经从这个开始了,虽然这很麻烦,但我认为这是唯一可能的出路。非常感谢,这是一次很好的学习!
    【解决方案2】:

    从表面上看,您希望您的报告能够透视定义的项目,这些项目可以根据各种报告标准而变化。如果您知道所有可能返回的列,您可以定义您的 RDL 以将它们全部绑定,但隐藏未定义项目的列。您只需要将列的 Visible 属性绑定到确定是否已定义。

    【讨论】:

    • 不,我不知道可以返回哪些列 - 这是因为这是一种产品,列将取决于每个客户定义的项目。因此,每次安装此产品时,列名可能完全不同。
    【解决方案3】:

    对于您的问题,

    我猜你可以选择矩阵而不是表格。 您可以根据获取的数据动态生成行和列。

    Check here for using of matrix

    【讨论】:

      【解决方案4】:

      只要您的列在数据表中未固定,请在 RDLC 中使用矩阵。

      访问http://www.gotreportviewer.com/matrices/

      在这里,您会发现 RDLC 中表格和矩阵的用法。看看哪一种适合您的要求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-27
        • 1970-01-01
        • 1970-01-01
        • 2016-05-14
        • 1970-01-01
        • 2011-02-04
        相关资源
        最近更新 更多