我有一个运行一批发票的 SQL Server Reporting Services 报告。每张发票都有页眉、正文和页脚。报告按发票编号分组,以便每张发票打印在单独的页面上。
我的问题是,当发票正文超过一页时,页脚会在每一页上重复。我只希望它显示在发票(组)的最后一页上。
我尝试取消选中“页脚:在第一页上显示”选项,但这只会从整个批次的第一页中删除页脚,而不是从组中删除。
我也尝试将页脚信息放入正文中,但由于这些发票打印在预印纸上,因此页脚位于页面的最底部很重要。
我有一个运行一批发票的 SQL Server Reporting Services 报告。每张发票都有页眉、正文和页脚。报告按发票编号分组,以便每张发票打印在单独的页面上。
我的问题是,当发票正文超过一页时,页脚会在每一页上重复。我只希望它显示在发票(组)的最后一页上。
我尝试取消选中“页脚:在第一页上显示”选项,但这只会从整个批次的第一页中删除页脚,而不是从组中删除。
我也尝试将页脚信息放入正文中,但由于这些发票打印在预印纸上,因此页脚位于页面的最底部很重要。
我设法在Page Footer
小组结束后才能看到。
Group Footer
.Page Footer
要显示或隐藏的项目(通常是矩形中的全部内容)中,在 hidden 属性中设置以下表达式:=iif(IsNothing(ReportItems!txtShowFooter.Value), true, false)
.说明:
如果您在txtShowFooter
存在的页面中,则显示Page Footer
.
在详细信息页面中,文本框将不存在,因此隐藏了页脚。
希望这对其他人有所帮助!
我设法实现了我想要的,但它只不过是一种解决方法。据我所知,在 SSRS 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