sql-server – 如何在SSRS 2008 R2的报告主体中显示页码?
我认为很多开发人员都面临着尝试使用SSRS 2008 R2显示页码的问题.
有一种替代解决方案需要SSRS 2010版本.否则你会一直得到1. 转到“报告” – > “报告属性” – > “码” 在“自定义代码”部分中,输入以下内容: Public Function PageNumber() as String Dim str as String str = Me.Report.Globals!PageNumber.ToString() Return str End Function Public Function TotalPages() as String Dim str as String str = Me.Report.Globals!TotalPages.ToString() Return str End Function 现在,您将能够在报表中的任何位置(标题,正文或页脚)访问这些函数.因此,要在位于正文中的文本框中输出页码和总页数,只需输入以下值: ="Page " + Code.PageNumber() + " of " + Code.TotalPages() This解决方案不适用于SSRS 2008 R2. 但是有一种解决方法,它适用于任何高于2008 R2的版本(包括2008 R2).我将作为答案发布,希望它能帮助那些在这个问题上挣扎的人. 解决方法首先,您需要使用报告变量:右键单击报告的空白区域 – >变量 – >创建一个变量,如PageCount(将默认值设置为0) 然后在你的页眉或页脚 – >创建一个文本框并设置表达式 – > =Variables!PageCount.SetValue(Variables!PageCount.Value+1) 它会自动增加每页. 然后你可以使用: =Variables!PageCount.Value 在报告正文的任何??部分访问页码. 重要提示:请注意我尝试使用Globals!PageNumber来设置变量但最终无法从报表正文中访问它.所以,它必须是Header / Footer OR Body可以访问的东西. 就我而言,我必须重置每个组实例的页码. 由于函数IIF中的True和False部分都将被处理,所以如果你把setter放在IIF中,如下所示: =IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),Variables!PageCount.SetValue(0)) ) 你最终会得到值0,因为报告将检查True Part然后是False部分,两个setter都将被执行(值将被设置两次) 所以我们需要2个盒子,比如: =IIF(IsNothing(ReportItems!TotalBox.Value),"") ) NOT IsNothing时,您需要隐藏此框(ReportItems!TotalBox.Value) =IIF(NOT IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(0),"") ) 再次,您需要在IsNothing(ReportItems!TotalBox.Value)时隐藏此框 当然,您可以使用其他方式来确定组实例的结束,例如: 它适用于2008 R2以上的所有版本(包括在内). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sqlserver2005表结构查询语句
- Windows下React Native的Android环境部署及布局示例
- sql-server – SQL Server – 将varchar转换为另一个归类(代
- 我何时应该在PL/SQL中使用程序或功能?
- SqlServer2005 海量数据 数据表分区解决难题
- sql-server – 如何在SQL Server中编写索引,键,外键的脚本
- MSSQL 数据库表字段增/删/改/查的操作
- sql-server – 插入OUTPUT与子查询表相关
- sql-server – 如何在一个查询中连接一列内连接中多行的字符
- Mysql Binlog快速遍历搜索记录及binlog数据查看的方法