12

我想Globals!PageNumber在报告正文部分中使用。如何访问内部报告正文?

我正在使用SQL Server Reporting Service 2008 R2.

4

4 回答 4

18

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

页码:

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

查看Concat 函数的示例用法

于 2012-07-30T13:10:59.960 回答
10

不幸的是,在 Reporting Services(最高 RS2008)中,这将在每一页上产生“第 1 页,共 1 页”。问题是正文在页眉和页脚之前呈现,因此代码无法访问正确的分页,因为它是在正文中的所有元素之后确定的。

如果您的报告基本上是一个大表,每个表上都有预定义的行数,请尝试在 SQL 中使用 row_number 作为手动计算页码的解决方法:http: //social.msdn.microsoft.com/Forums/en-US/ sqlreportingservices/线程/c2047eee-41a8-4d79-ae58-dbf60f6e7554/

于 2012-12-04T18:56:09.270 回答
6

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

于 2011-01-23T10:26:40.583 回答
2

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

Report Menu从 Visual Studio 的主菜单转到>单击Report Properties >添加新变量 - 命名为PageCount (默认值为 0)

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

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

它会自动增加每一页。

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

=Variables!PageCount.Value

我已经参考了这个答案

于 2016-01-06T12:20:37.177 回答