2012-12-07 90 views
0

我们正在为我们的报告使用SQL Server Reporting Services。我们有一个由几个子报告组成的报告。为了简单起见,我们说汽车。每辆车都有自己的零件清单。一对多的关系。如何在多页SRSS报告中添加子报告?

因此,在汽车报告中,有所有汽车信息 - 以及子报告,零件清单。这对于单个汽车来说工作得很好,因为有一个Car.ID,可以作为参数传递,以便通过特定汽车过滤零件列表。

但是,如果报告中指定了几辆汽车,我们希望每辆车都在自己的页面上。有它自己的零件清单。

我已经看过周围了,正努力想出来。我正在查看的解决方案涉及将所有内容放在List控件中,在每条记录之后添加分页符。然后为数据集中的每个项目添加一个行号,然后将子页面编号和行号与子报告相匹配。

我觉得有一个简单的方法来做到这一点,我忽略了。或者如果没有,我怎样才能匹配页码和行号?我已经使用查找功能尝试 -

=Lookup(=Fields!Page.Value, =Globals!PageNumber, =Fields!ID.Value, "DataSet1") 

然而,这将返回一个错误的全局变量的PageNumber只能到页面页眉/页脚节!

任何帮助是极大的赞赏。

回答

1

没关系,我是一个白痴,完全过于复杂。

如果其他人发现它有用,这里的步骤。

  1. 创建您的子报告,指定记录的ID作为参数。

  2. 创建您的主要封装报告。

  3. 将列表控件添加到页面,转到Tablix属性并添加分页符。

  4. 添加子报表列表控件

  5. 指定值来标识参数,通过使用字段集合 - 在这种情况下: =字段ID.Value

  6. 测试!报告,然后坐下来,不要考虑我试图做成多么复杂。