【问题标题】:Do a Page Break on the same page of SSRS Report在 SSRS 报告的同一页上进行分页符
【发布时间】:2016-09-27 13:41:35
【问题描述】:

我想在一页 SSRS 报告中显示 50 行。但我想在两列中显示这 50 行,每列 25 行。有没有办法在同一页面上进行分页,或者有没有其他方法可以实现这一点?

【问题讨论】:

  • 有多少条记录?一种方法是遍历数据并在 SQL 中为每 50 条记录添加一个组 ID,例如。 recs 1 - 50 = Grp 1, 51-100 = Grp 2。Grp 将是报告中的隐藏列,并且组将设置为在组更改时抛出一个页面
  • 此报告必须处理的记录数没有限制。但我想在一页上显示 50 条记录,每列有 25 条记录。所以每个页面会有 2 列 25 条记录,并且会有多个页面。

标签: reporting-services ssrs-2008 ssrs-2008-r2 reportingservices-2005


【解决方案1】:

根据您希望如何排列数据,您需要将两个单独的表配置为仅显示 25 行排序,以便根据需要显示(阅读然后向下或向下一个表然后另一个?)

这样做的一种方法是创建一个隐藏的行组,正如@MiguelH 在他们的评论中建议的那样,它有两个级别,因此您可以按照以下方式分组为 50 和 25:

Row #   -  Group 1  -  Group 2
  1           1          1
  2           1          1
....
 24           1          1
 25           1          1
 26           1          2
 27           1          2
....
 49           1          2
 50           1          2
 51           2          1
 52           2          1
....
 74           2          1
 75           2          1
 76           2          2
 77           2          2
....
 98           2          2
 99           2          2
100           3          1
101           3          1

然后,您可以在表组之后设置分页符,在同一页面上显示第一个表中 Group 2 值为 1 和第二个表中 Group 2 值为 2 的所有记录.

【讨论】:

  • 我已经尝试过了,这将在后期阶段产生复杂性,因为我必须根据行号进行颜色编码。这就是为什么我想只创建一个表,因为它会减少后期阶段的许多复杂性和依赖性。
  • @Programmermid 这如何导致颜色编码出现问题?
  • 报告的其他部分运行着完全不同的逻辑,根据其他数据集中的某些值,我必须在此处检查行号并相应地进行颜色编码。因此,例如,如果我使用两个不同的表,那么第一个表的第 25 行和第二个表的第 25 行将是不同的。这将是不正确的。这就是为什么我只想添加一个表。
  • @Programmermid 你不能在你的 SQL 数据集中做一个ROW_NUMBER(),或者简单地从Group 1Group 2 值计算行号吗?
  • 这是可能的,但我将不得不改变很多现有的逻辑,有没有其他方法来实现这一点,而不是添加 ids 和添加两个表?我们是否可以添加一个父组,它将在 50 行之后添加分页符或其他内容,因为在当前场景中,我能够拆分表,只是我无法在 50 行之后添加分页符。当超过 50 行时,它会创建第三列!
猜你喜欢
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 2018-01-04
  • 1970-01-01
相关资源
最近更新 更多