如何确定SSRS每页中的组数

时间:2019-02-04 06:18:19

标签: sql-server reporting-services ssrs-2012 ssrs-tablix ssrs-grouping

我有一个报告,其中显示6组信息(每组5行)。该报告具有一些可由用户修改的过滤器。当首次加载报告时,如果没有任何过滤器,则其在报表查看器中的页面呈现效果和“打印”页面是完美的;但是,在报告信息中添加过滤器时,它会变得异常。

下图给出了简单的解释:

enter image description here

任何人都可以提出任何建议来解决每页中的行数/组数的问题吗?

1 个答案:

答案 0 :(得分:4)

我将提供两种解决问题的方法

(1)尝试防止文本框展开

我假设您正在显示报告参数(过滤器),如以下链接所述:

然后,您应该按照以下文章中所述,从“文本框”属性窗格中将CanGrow属性设置为False

enter image description here

还请确保未在Text Box Properties Dialog Box

中选中Allow height to increase属性

enter image description here

有用的链接:

(2)限制每页的行数

在搜索此问题时,我找到了以下解决方案,可以将其用作解决每页行数的方法:

您可以使用条件方法指定每页的限制行数。如果是第一页,则以10 (2组)为例,对于其他页面,15 (3组)

>

您应按照以下步骤操作:

  1. 转到Report >> Report Properties >> Code,在Custom Code部分中,输入以下内容:

    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
    
  2. 现在使用SSRS表达式如下所示创建带有分页符的组:

    = IIf ( CInt(Code.PageNumber()) = 1, Ceiling((RowNumber(Nothing)) / 10), Ceiling((RowNumber(Nothing)) / 15) )
    

结果将如下图所示:

enter image description here

参考和有用链接

(3)根据OP注释进行更新

将组行保留在同一页面上的另一种方法是将Keep together属性设置为true:

Row_Group >> Properties >> Keep together = True.