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