Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSR在每个组的末尾显示页脚_Sql Server_Reporting Services_Report_Rdl - Fatal编程技术网

Sql server SSR在每个组的末尾显示页脚

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,但这只会从整个批处理的第一页中删除页脚,而不会从组中删除页脚 我也尝试过将页脚信息放入正文中,但由于这些发票是打印在预打印纸上的,因此页脚位于页面的

我有一个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,则显示页面页脚。 在细节页面中,文本框不存在,因此隐藏了页脚

希望这能帮助其他人