Access Page number in report body In SSRS

前端 未结 4 1842
Happy的楠姐
Happy的楠姐 2020-12-03 15:00

I want to use Globals!PageNumber in Report body part. How can I access inside Report body?

I am using SQL Server Reporting Service 2008 R2.

相关标签:
4条回答
  • 2020-12-03 15:43

    For that you need to use Report variables:

    Go to Report Menu from main Menu in Visual Studio, > Click on Report Properties > Add new variable - named as PageCount (Default value to 0)

    Then inside header of footer create one textbox and set below expression,

    =Variables!PageCount.SetValue(Variables!PageCount.Value+1)
    

    It will automatically increase for each page.

    NOTE: Do not hide it from header or footer, the SetValue will not work if you hide the box, so change the font of textbox to white color. (Do whatever you want but just do not hide it. Then you can use below expression to fetch pagenumber value inside report body.

    =Variables!PageCount.Value
    

    I have taken reference from this answer.

    0 讨论(0)
  • 2020-12-03 15:47

    Unfortunately in Reporting Services (up to RS2008), this will produce "Page 1 of 1" on every page. The problem is that the body is rendered before the header and footer, therefore the code cannot access the correct pagination, since it is determined AFTER all elements in the body.

    If your report is basically a large table with predefined number of rows on each table, try using row_number in your SQL as a workaround to manually calculate page numbers: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/c2047eee-41a8-4d79-ae58-dbf60f6e7554/

    0 讨论(0)
  • 2020-12-03 15:54

    you can't use page number in body. use it only in report footer or header.

    0 讨论(0)
  • 2020-12-03 15:55

    Create functions in the code under the report properties:

    Page Number:

    Function PageNumber() As String    
        Return Me.Report.Globals!PageNumber    
    End Function
    

    Total Pages:

    Function TotalPages() As String   
        Return Me.Report.Globals!TotalPages    
    End Function
    

    Access it in the body via an expression:

    =code.PageNumber & " of " & code.TotalPages
    

    Check out Sample Usage of the Concat Function

    0 讨论(0)
提交回复
热议问题