sql – SSRS Reports – 强制表扩展到页面底部

前端之家收集整理的这篇文章主要介绍了sql – SSRS Reports – 强制表扩展到页面底部前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个发票类型报告,其中我有一个标题,主体与表(包括总计部分)和页脚.

我得到的问题是,主体中的表高度取决于从我的SPROC返回多少行,因此如果没有太多数据,该表将占用页面中间的一小部分“总计“和”免责声明“在页面底部附近没有结束(理想情况下,想把它放在页脚的上方).

我已经看到了解决这个问题的指南,使用在SPROC中添加空行(空)行的一般方法,强制表大于预期,从而强制总计和免责声明行靠近页面底部.

我已经实现了这个解决方案但是有一些问题.

然而,这种方法的问题在于逻辑仅在假设表中的每一行仅占用1行(即简短描述,因此该行不会溢出到下一行)时才起作用.一旦行有多行,行的高度就会改变,并且由于高度不是1行的倍数(即单行的大小为1,双行的大小应为2,但是大小为1.5或者其他),i不能考虑我应该在SPROC中添加多少行.

我尝试了另一种方法,其中我需要的行与主表分开(这本身就给我带来了问题 – 无法计算报告中的总数,但我想我可以通过计算SPROC本身的总数来解决这个问题)并隐藏直到最后一页.

这种方法很好,除了使用这种方法,空白空间总是显示出来,阻止表格扩展到该区域.

我已经包含了一个imgur的链接来描述我当前的问题,这个问题应该更容易理解.

必须有一种更简单的方法来强迫桌子占据整个空间.

解决方法

所有这些都可以在报告设计中实现.这就是你所知道的:

>页面高度(P)
>静态数据的高度(S)
>标题的高度(H)
>数据行的高度(R)
>数据行数(C)
>页脚的高度(F)

因此,您可以计算出页面上剩余空间的大小:P – ((C * R)S F H)

当我解决我的问题时,我意识到当页面上剩余的空间太小而无法容纳页脚时,我需要两个“垫片”;垫片1填充在页面1的其余部分,而垫片2是第2页的可用空间 – P – (S F H).

因此,您需要在报告中使用隐藏的部分来执行高度计算,并在任何其他详细信息行下方的间隔符中使用两个详细信息行.

我在GitHub上创建了一个演示解决方案,它显示了这个“引脚到底”的功能,以及重置组的页码,数据驱动的页眉/页脚,标签翻译和国际格式(页面大小,数字格式等) ).

有关销售发票5的详细信息,请参阅.

猜你在找的MsSQL相关文章