在SQL Server 2005上,报表服务我打印了表单(例如invoice
),可以是多页。我需要通过一次单击打印许多此类表单(例如,针对指定客户和特定时段的所有invoices
)。我把布局放在表格中,并按发票编号对所有信息进行分组,因此对于整个打印的表格,它很好,我有,我想要的。对于所有人,除了页码编号。每张发票(如果是多页)应在页脚编号中加上page xx from xx
。
是否可以计算该组的总页数?
答案 0 :(得分:7)
博文 Reset Page Number On Group 介绍了如何重置每个组末尾的页码。它只需要一个小的自定义代码函数和页码的表达式。
总结(引自文章):
步骤1:确保报告中包含一个包含该文本框的文本框 小组表达
步骤2:添加共享变量以跟踪当前组和页面 偏移
Shared offset as Integer Shared currentgroup as Object
步骤3:添加自定义函数以设置共享变量和 检索组页码
Public Function GetGroupPageNumber(group as Object, pagenumber as Integer) as Object If Not (group = currentgroup) offset = pagenumber - 1 currentgroup = group End If Return pagenumber - offset End Function
步骤4:使用页眉或页脚中的功能
=Code.GetGroupPageNumber(ReportItems!Category.Value,Globals!PageNumber)
SSRS 2008 - 对于那些发现此链接以响应更新版本的报告服务器的人,可以在此处找到有关此相同问题的信息: MSDN Blog - Reset Page Number