首页 文章

Reportviewer(RDLC),在第一页上隐藏一行

提问于
浏览
1

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

我需要在表格的开头显示一个授权总计,在每个页面的末尾显示一个小计,但是如果报告大于1页则只显示小计 .

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

怎么可以这样做?如何在第一页上隐藏表格行的任何不同的想法?

1 回答

  • 2

    与在this post中重新设置页码类似,您可以添加自定义代码以检查您所在的页面,然后从第一页的 Headers 中调用 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
    

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

    enter image description here

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

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

    解决问题的另一种方法是在 Headers 中使用变量和文本框,类似于post .

相关问题