SSRS - 在Tablix下添加空单元格以填充页面上的空白区域(如果有)

时间:2015-10-12 01:53:36

标签: reporting-services ssrs-2008 ssrs-2008-r2 ssrs-tablix

我在ssrs中使用矩阵/ tablix中的动态行数据。有可能我有多个页面(比方说两页),其中数据只填充第二页的一半,并在下面留下一个空白区域(第二页上的半页空白)。如何用空行填充此空白区域? (无论是在Tablix中渲染空行,还是插入背景图像,还是其他任何东西。我还没有任何解决方案,因为它是动态数据,页面上有很多可能的空白空间)

1 个答案:

答案 0 :(得分:1)

遗憾的是,报告者中没有任何支持此行为的设置。但是,您可以使用几种解决方法来获得想要的结果。

  

<强> [1]   您可以确定适合第一页和第二页的行数,以防万一你有上面的项目   第一页上的表格。在将数据源发送到之前   记者计算总行数并检查它是否超过第一页。   然后计算缺少的行数以填充整秒   页面(或第三/第四...如果您获得更多数据)。最后你加   数据源末尾的空行/对象,这将是cource的   导致页面填充到最后。

     

正如之前所指出的,这种解决方案只有在工作时才有可能   固定排高度。如果某些列可以有多行单元格   然后这些也可以检查并在考虑时考虑   计算页面上显示的行数。这使得   它稍微复杂一点,但如果可以,仍然是一个有效的解决方案   预测哪些列可能很麻烦。

  

<强> [2]   第二种解决方案是隐藏表格边框,并将表格放在一个跨越最大尺寸的矩形内   页。此矩形的边框可用于显示表格   可以通过在内部添加行来显示外边框和列   长方形。这将导致列填充最后一页   自动报告。不幸的是,这不是一个显示的解决方案   水平网格线。

  

<强> [3]   第三种方法是在表格下方添加一个额外的表格   具有相同大小的列。使用与第一个相同的方法   您可以填充第二个表以表示空行的解决方案。   您可能会遇到与第一个解决方案相同的问题   但是处理多行行。

如果您愿意做数学计算,我相信解决方案 [1] [3] 将提供最精确的解决方案。如果你不想要任何水平线,那么我建议使用方法 [2] 使用图像覆盖边框当然是另一种选择,但是在处理多行行时你会遇到同样的问题。如果您计划使用固定行高,为多行单元留出空间,那么这将成为一种有效的方法,但解决方案 [1] [3]

更新:
如果你只需要填充页面进行打印,你可以确保添加足够的空行来填充至少整个最后一页,这些可能会转到一个新页面(1个新页面,而不是2个...你可以使用一个简单的计算猜测这个)并在打印时排除最后一页。