【问题标题】:.NET ReportViewer capabilities: Displaying multiple rows.NET ReportViewer 功能:显示多行
【发布时间】:2010-12-25 20:16:37
【问题描述】:

情况: 我们使用 .NET ReportViewer (ASP.NET, RDLC) 和来自我们对象模型的自定义对象设计了一个看起来不错的报告页面。我的基本(可能不正确)假设是,如果我们将自定义对象的集合绑定到 ReportViewer/RDLC,控件将为 构建填充的报表布局集合中的每个对象。

我过去的报表经验是使用 MS-Access 报表引擎,其中将数据源绑定到报表将导致报表布局应用于数据源中的每个记录。例如,如果报表布局跨越整个页面,则将为每个绑定的记录构建一个填充的报表页面。

问题: 我的同事告诉我,.NET ReportViewer 无法按照我描述的方式运行。真的吗?请告诉我他弄错了吗?有关解决方案或变通办法的任何指导?

提前致谢,-JR

注意:原始问题标题已根据澄清答案进行了更改。

【问题讨论】:

    标签: .net asp.net reportviewer rdlc


    【解决方案1】:

    简短的回答:是的。 ReportViewer 可以按照您描述的方式运行。 (你的同事说错了。)

    有几种方法可以显示数据源中的所有行,而不仅仅是第一种。我最熟悉这里描述的 List Control 方法,但也有使用子报表或嵌套数据区域的 Master-Detail 方法。

    严格来说,这个问题是关于显示多个数据行,而不是自定义对象集合。您可能希望从“.NET ReportViewer 功能:绑定到自定义对象集合?”中编辑问题标题。说“.NET ReportViewer 功能:显示多行”?

    在设计报表时,如果将数据源中的字段放置到报表设计器上并显示报表,您会注意到只显示一行而不是整个数据集。仔细检查后,ReportDesigner 将聚合函数 First() 包裹在您的数据字段周围。这是 ReportViewer 的默认行为。

    您想要做的是使用列表控件并将您的数据字段控件放置在其中。现在,将显示所有字段行。就这么简单。

    列表是成功使用 ReportViewer 的关键组件。阅读它。 List 可以使用其 Group Expression 功能以及通过在其中嵌套 List/Table 控件来适应更大的复杂性。

    资源

    正如在另一篇文章中提到的,对于 ReportViewer 来说最好的网络资源之一是 GotReportViewer 站点。在那里你会找到更多关于使用列表、主从细节等的信息。

    祝你好运。

    【讨论】:

      【解决方案2】:

      您应该可以在这里找到您的解决方案: http://www.gotreportviewer.com/

      更多关于绑定自定义类/集合的信息 http://www.gotreportviewer.com/objectdatasources/index.html

      我认为 rdlc 不会为您创建布局。

      【讨论】:

        猜你喜欢
        • 2021-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-08
        • 2014-11-02
        • 1970-01-01
        • 1970-01-01
        • 2016-02-08
        相关资源
        最近更新 更多