SSRS 2005:组页码重置,从 xx 查看 xx

发布于 2024-08-12 05:17:36 字数 236 浏览 6 评论 0原文

在 SQL Server 2005 上,报告服务我打印了表单(例如发票),它可以是多页的。我需要一键打印大量此类表格(例如指定客户和特定时期的所有发票)。我将布局放在表格中,并按发票号码对所有信息进行分组,因此对于整个打印表格来说,这很好,我已经得到了我想要的。对于除页码之外的所有内容。每张发票(如果是多页)都应在页脚中包含页码,例如第 xx 页,来自 xx

是否可以计算该组的总页数?

On SQL Server 2005, Reporting services I have printed form (e.g. invoice), which can be multi-page. I need to print a lot of such forms (e.g. all invoices for specified customer and for specific period) by one click. I put the layout in the table and group all info by the invoice number, so for the whole printed form it's fine, I've got, what I want. For all, except page numbering. Each invoice, if it's multi-page, should have in the footer page numbering like page xx from xx.

Is it possible to calculate the total number of pages for the group?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡莣 2024-08-19 05:17:36

博文重置群组页码 描述如何重置每组末尾的页码。它只需要一个小的自定义代码函数和页码表达式。

总结一下(引自文章):

第 1 步:确保报告中有一个文本框,其中包含
群体表达

第2步:添加共享变量来跟踪当前组和页面
偏移量

共享偏移量为整数
将当前组共享为对象

第 3 步:添加自定义函数来设置共享变量和
检索群组页码

 公共函数 GetGroupPageNumber(group as Object, pagenumber as Integer) as Object
   如果不是(组 = 当前组)
     偏移量 = 页码 - 1
     当前组 = 组
   结束如果
   返回页码 - 偏移量
 结束功能

第 4 步:在页眉或页脚中使用该函数

=Code.GetGroupPageNumber(ReportItems!Category.Value,Globals!PageNumber)

SSRS 2008 - 对于那些为了响应较新版本的报表服务器而找到此链接的人,可以在此处找到有关同一问题的信息:
MSDN 博客 - 重置页码

The blog post Reset Page Number On Group describes how to reset the page number at the end of each group. It simply requires a small custom code function and an expression for the page number.

In summary (quoted from the article):

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 - For those finding this link in response to the newer versions of the report server information about this same issue can be found here:
MSDN Blog - Reset Page Number

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文