Sql server SSR在每个组的末尾显示页脚
我有一个SQL Server Reporting Services报告,它运行一批发票。每张发票都有页眉、正文和页脚。报告按发票编号分组,以便将每张发票打印在单独的页面上 我的问题是,当发票正文扩展到一页以上时,页脚会在每一页上重复。我只希望它显示在发票组的最后一页 我已尝试取消选中选项page footers:show on first page,但这只会从整个批处理的第一页中删除页脚,而不会从组中删除页脚Sql server SSR在每个组的末尾显示页脚,sql-server,reporting-services,report,rdl,Sql Server,Reporting Services,Report,Rdl,我有一个SQL Server Reporting Services报告,它运行一批发票。每张发票都有页眉、正文和页脚。报告按发票编号分组,以便将每张发票打印在单独的页面上 我的问题是,当发票正文扩展到一页以上时,页脚会在每一页上重复。我只希望它显示在发票组的最后一页 我已尝试取消选中选项page footers:show on first page,但这只会从整个批处理的第一页中删除页脚,而不会从组中删除页脚 我也尝试过将页脚信息放入正文中,但由于这些发票是打印在预打印纸上的,因此页脚位于页面的
我也尝试过将页脚信息放入正文中,但由于这些发票是打印在预打印纸上的,因此页脚位于页面的最底部是很重要的。我成功地实现了我想要的,但这只不过是一种变通办法。据我所知,在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
我设法使页脚只有在组结束后才可见
您需要在组页脚的末尾添加一个字段。
为该字段指定名称和值,例如:name=txtShowFooter,value=False
价值不重要,它只需要有一个价值。
在通常要在矩形中显示或隐藏整个内容的页脚项目中,在hidden属性中设置以下表达式:=iifIsNothingReportItems!txtShowFooter.Value,true,false。
说明:
如果您所在的页面中存在txtShowFooter,则显示页面页脚。
在细节页面中,文本框不存在,因此隐藏了页脚
希望这能帮助其他人