SSR中报告主体中的访问页码
-
16-10-2019 - |
题
我想使用 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
我已经参考了 回答.
不隶属于 StackOverflow