在 SQL Server 2005 上,我打印了报表服务(例如 invoice
),它可以是多页的。我需要一次单击打印很多这样的表格(例如,指定客户和特定时期的所有 invoices
)。我将布局放在表格中,并按发票编号对所有信息进行分组,因此对于整个打印表格来说很好,我已经得到了我想要的。对于所有,除了页码。每张发票,如果它是多页的,应该在页脚页码编号,如 page xx from xx
。
是否可以计算组的总页数?
最佳答案
博客文章 Reset Page Number On Group 描述了如何在每组的末尾重置页码。它只需要一个小的自定义代码函数和一个页码表达式。
总结(引自文章):
Step 1: Make sure there's a textbox in the report which contains the group expression
Step 2: Add shared variables to track the current group and page offset
Shared offset as Integer Shared currentgroup as Object
Step 3: Add a custom function to set the shared variables and retrieve the group page number
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
Step 4: Use the function in the page header or footer
=Code.GetGroupPageNumber(ReportItems!Category.Value,Globals!PageNumber)
SSRS 2008 - 对于那些找到此链接以响应较新版本的报告服务器的人,可以在此处找到有关同一问题的信息: MSDN Blog - Reset Page Number
关于sql-server - SSRS 2005 : Group page numbers resetting, 从 xx 查看 xx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1795663/