s-s-rS 在每组末尾显示页脚

Posted

技术标签:

【中文标题】s-s-rS 在每组末尾显示页脚【英文标题】:s-s-rS Show footer at the end of each group 【发布时间】:2011-12-07 12:54:12 【问题描述】:

我有一个运行一批发票的 SQL Server Reporting Services 报表。每张发票都有页眉、正文和页脚。报告按发票编号分组,因此每张发票都打印在单独的页面上。

我的问题是,当发票正文超过一页时,页脚会在每一页上重复。我只希望它显示在发票(组)的最后一页。

我尝试取消选中“页脚:在第一页上显示”选项,但这只会从整个批次的第一页中删除页脚,而不是组。

我也尝试将页脚信息放入正文中,但由于这些发票打印在预印纸上,因此页脚位于页面的最底部很重要。

【问题讨论】:

【参考方案1】:

我设法实现了我想要的,但这只不过是一种变通方法。据我所知,在 s-s-rS 2005 中无法做到这一点。

我的解决方案是计算每组返回的行数并限制每页上的行数。这允许我推断存储过程中的页码并返回每行的组页码和最大组页码。

SELECT CEILING((sum(1) over (Partition by sClientInvoiceNo))/ @MaxRowsPerPage) as GroupMaxPage,CEILING((row_number() over (Partition by sClientInvoiceNo order by iSortOrder,apportionmentID desc))/ @MaxRowsPerPage) as GroupPage

然后我按报告中的组页码对数据进行分组,并专门检查最后一页的页脚数据

=IIF(fields!GroupPage.Value <> fields!GroupMaxPage.Value, "", Fields!iBalanceDue.Value

【讨论】:

【参考方案2】:

我设法让Page Footer 仅在组结束后可见。

    您需要在Group Footer 末尾添加一个字段。 为该字段指定名称和值(例如:名称 = txtShowFooter,值 = False) 价值无所谓,只要有价值就行。 在您要显示或隐藏的Page Footer 项(通常是矩形中的全部内容)中,在隐藏属性中设置以下表达式:=iif(IsNothing(ReportItems!txtShowFooter.Value), true, false)

说明: 如果您位于存在txtShowFooter 的页面中,则会显示Page Footer。 在详细信息页面中,文本框将不存在,因此隐藏了页脚。

希望这对其他人有所帮助!

【讨论】:

以上是关于s-s-rS 在每组末尾显示页脚的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS:如何在首页后“没有”页脚?

在强制 s-s-rS 显示每页中的限制记录数后,将在每页而不是整个组上计算聚合

在每组下方的新行中显示具有相同属性的行总和

s-s-rS 页脚文本颜色不变

如何在 UItableview 的末尾显示带有自定义文本的页脚视图

最后打印页的页脚