SSRS将继续在每个页面的下一列

Nis*_*ela 8 reporting-services

我正在构建一份包含2列的SSRS报告(2016):

---------------------------------------------
| ID | Service Number | ID | Service Number |
| 1  |        A       | 11 |      K         |
| 2  |        B       | 12 |      L         |
| 3  |        C       | 13 |      M         |
| 4  |        D       | 14 |      N         |
| 5  |        E       | 15 |      O         |
| 6  |        F       | 16 |      P         |
| 7  |        G       | 17 |      Q         |
| 8  |        H       | 18 |      R         |
| 9  |        I       | 19 |      S         |
| 10 |        J       | 20 |      T         |
---------------------------------------------
Run Code Online (Sandbox Code Playgroud)

要求:

  • 数据应首先完全占据左侧列表,然后从右侧开始.这应该是每页.所以,例如:如果我的总记录是100,一个页面可以处理40条记录(左边20条,右边20条),我们需要在第一页上显示1到40条记录.第二个40到80,依此类推.
  • 每个页面的左右列都应有一个标题.

注意:我已经尝试过这里给出的解决方案:SSRS - 如何将数据继续到下一列? 这里的问题是,如果我只有10条记录,它会在左边分为5,在右边分为5,这与我的要求不符.

小智 1

您链接到的解决方案的最后一段应该有效:

您可以调整此方法来实现真正的多列,方法是从 InteractiveSize-Height 属性计算出页面上可以容纳多少行,并在左表中显示这些列,然后在右表中显示其余列,依此类推。报告,但这可能很脆弱,具体取决于渲染器和更改页面布局设置(例如边距)。上述方法简单有效。

对于每页每表 40 条记录的固定数量,这将是:

第一个表的详细信息行,对于 Visibility-Hidden 属性,使用以下公式:

=iif(((RowNumber(Nothing)-1)\40) Mod 2, True, False)
Run Code Online (Sandbox Code Playgroud)

在第二个表的“详细信息”行中,对于 Visibility-Hidden 属性,使用相反的公式:

=iif(((RowNumber(Nothing)-1)\40) Mod 2, False, True)
Run Code Online (Sandbox Code Playgroud)

这样左侧将显示 1-40,右侧将显示 41-80 行。下一页将在左侧显示 81-120,在右侧显示 121-160,假设一页适合 40 行。