SSRS在每组结尾处显示页脚

时间:2011-12-07 12:54:13

标签: sql-server reporting-services report rdl

我有一个SQL Server Reporting Services报告,它运行一批发票。每张发票都有标题,正文和页脚。报告按发票编号分组,以便每张发票打印在单独的页面上。

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

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

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

2 个答案:

答案 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

  1. 您需要在Group Footer
  2. 的末尾添加一个字段
  3. 为该字段指定名称和值(例如:Name = txtShowFooter,Value = False)
    价值无关紧要,只需要有价值。
  4. 在要显示或隐藏的Page Footer项目中(通常是矩形中的整个内容),请在隐藏属性中设置以下表达式:=iif(IsNothing(ReportItems!txtShowFooter.Value), true, false)
  5. <强>说明:
    如果您所在的网页中存在txtShowFooter,则会显示Page Footer 在详细信息页面中,文本框不会存在,从而隐藏了页脚。

    希望这有助于其他人!