1

有没有办法根据页码触发行可见性?

我需要在表格的开头显示拨款总额,并在每页的末尾显示小计,但如果报告将大于 1 页,则仅显示小计。

我尝试在页脚/页眉部分执行一些代码并存储 PageNumber,因为无法从正文访问 Globals!PageNumber。但没有效果,似乎页脚和页眉部分是稍后创建的,所以我在报表代码中的变量始终为 0,同时在表格行隐藏表达式中读取它。

怎么可能做到这一点?任何不同的想法如何隐藏第一页上的表格行?

4

1 回答 1

2

类似于在这篇文章中重新设置页码,您可以添加自定义代码来检查您所在的页面,然后setPageNumber从标题中调用函数仅用于第一页并checkIfFirstPage在可见性表达式中为您的行调用函数:

Shared pageNumber as Integer

Public Function setPageNumber()
  pageNumber = 1
  Return newPage
End Function

Public Function checkIfFirstPage() as Boolean
  Dim isFirstPage as Boolean
  If (pageNumber = 1)
      isFirstPage = true
      pageNumber = pageNumber + 1
  Else
      isFirstPage = false
  Endif
  Return isFirstPage 
End Function

要添加自定义代码,请打开报告属性窗口,代码选项卡:

在此处输入图像描述

setPageNumber仅从第一页上的报告标题调用 - 您可以在标题中添加小文本框并将其设置为在白色上显示白色(因此它不会显示值)。将文本框的表达式设置为:

= IIF(Globals!PageName = 1, Code.setPageNumber(), 0)

解决您的问题的另一种方法是在标题中使用与本文类似的变量和文本

于 2018-01-29T16:34:20.960 回答