我想使用 Globals!PageNumber 在报告机构部分中。如何访问报告主体内部?

我在用 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

查看 样品使用Concat功能

其他提示

不幸的是,在报告服务(最高RS2008)中,这将在每个页面上产生“第1页”。问题在于,身体是在标头和页脚面前渲染的,因此代码无法访问正确的分页,因为在身体的所有元素之后都确定它。

如果您的报告基本上是一个大表,每个表上有预定义的行,请尝试使用SQL中的Row_number作为解决方法,以手动计算页码: http://social.msdn.microsoft.com/forums/en-us/sqlreportingservices/thread/c2047eee-41a8-41a8-4d79-ae58-dbf60f60f60f60554/

您不能使用身体中的页码。仅在报告页脚或标题中使用它。

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

Report Menu 从Visual Studio的主菜单中, > 点击 Report Properties > 添加新变量 - 称为 PageCount (默认值为0)

然后在页脚的标题内创建一个文本框并在表达式下方设置,

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

它将自动增加每个页面。

笔记: 不要将其隐藏在标题或页脚上, SetValue 如果隐藏盒子,将不起作用,因此将文本框的字体更改为白色。 (做任何您想做的事,但不要隐藏它。然后,您可以使用以下表达式来获取报告主体内部的Pagenumber值。

=Variables!PageCount.Value

我已经参考了 回答.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top