Reporting services SSRS中报告正文中的访问页码

Reporting services SSRS中报告正文中的访问页码,reporting-services,ssrs-2008,ssrs-2008-r2,Reporting Services,Ssrs 2008,Ssrs 2008 R2,我想使用Globals!报告正文部分中的页码。如何访问报告正文内部 我正在使用SQL Server Reporting Service 2008 R2正文中不能使用页码。仅在报表页脚或页眉中使用它。在报表属性下的代码中创建函数: 页码: Function PageNumber() As String Return Me.Report.Globals!PageNumber End Function 总页数: Function TotalPages() As String

我想使用
Globals!报告正文部分中的页码
。如何访问报告正文内部


我正在使用SQL Server Reporting Service 2008 R2

正文中不能使用页码。仅在报表页脚或页眉中使用它。

在报表属性下的代码中创建函数:

页码:

Function PageNumber() As String    
    Return Me.Report.Globals!PageNumber    
End Function
总页数:

Function TotalPages() As String   
    Return Me.Report.Globals!TotalPages    
End Function
通过表达式在正文中访问它:

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

请查看

不幸的是,在Reporting Services(截至RS2008)中,每页都会出现“第1页,共1页”。问题在于主体呈现在页眉和页脚之前,因此代码无法访问正确的分页,因为它是在主体中的所有元素之后确定的


如果您的报表基本上是一个大表,每个表上都有预定义的行数,请尝试使用SQL中的行数作为手动计算页码的变通方法:

为此,您需要使用报表变量

从Visual Studio的主菜单转到
报告菜单
单击
报告属性
添加新变量-名为
页面计数
(默认值为0)

然后在页脚的页眉内创建一个文本框并设置下面的表达式

=Variables!PageCount.SetValue(Variables!PageCount.Value+1)
它将自动增加每一页

注意:不要从页眉或页脚隐藏它,如果隐藏该框,
设置值将不起作用,因此将textbox的字体更改为白色。(做任何你想做的事,但不要隐藏它。然后你可以使用下面的表达式来获取报表正文中的页码值

=Variables!PageCount.Value

我已从中引用。

另请参见。您是正确的。我们需要实现自定义代码以访问标题上正文部分的值。谢谢。您好,我正在编写报表属性->代码区域中的函数,并在报表正文部分的文本框中写入“=code.PageNumber&”of“&code.TotalPages”。它显示“1/1”当总页数为6.可能有什么问题?请建议…为什么接受此答案?它不起作用,因为页码不能在报告正文中使用。对我不起作用,总是给出第1页,共1页,无论有多少页。我在表达式中使用此方法隐藏报告第1页上的文本框,该文本框有可能转到m我使用的表达式是:-=IIF(code.TotalPages=1或(code.TotalPages>1和code.PageNumber code.TotalPages),true,false)