user155042
user155042

Reputation:

SSRS 2005: Group page numbers resetting, view xx from 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?

Upvotes: 3

Views: 5072

Answers (1)

slugster
slugster

Reputation: 49974

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

Upvotes: 7

Related Questions