sql-server - 如何修复SSRS每页中的组数

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

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

下图中给出的简单解释:

enter image description here

有人可以提出任何建议来修复每个页面中的行/组数吗?

最佳答案

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

(1)尽量防止文本框扩大

我假设您正在显示以下链接中提到的报告参数(过滤器):

然后,您应该从文本框属性 Pane 中将 CanGrow 属性设置为 False,如以下文章所述:

enter image description here

还要确保 Text Box Properties Dialog Box 中未选中允许高度增加 属性

enter image description here

有用的链接:

(2)限制每页行数

在搜索此问题时,我发现了以下解决方案,可以将其用作每页分配行的解决方法:

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

您应该按照以下步骤操作:

  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
    
  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.

关于sql-server - 如何修复SSRS每页中的组数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54511020/

相关文章:

sql - 试图从表中提取最新的工资率

sql - Tinyint vs 比特?

sql-server-2008 - SSRS 不同的首页标题

javascript - 强制 SSRS 报告中的链接从 silverlight 中在新窗口中打开

reporting-services - 搜索 SSRS 参数长值列表的方法

reporting-services - 快速查询在 SSRS 2 中运行缓慢

SQL Left Join 仅第一个匹配项

SQL Server 2008 : BULK INSERT csv - is it possible to choose fields?

reporting-services - SSRS自定义错误页面

sql - 清除 SQL Reporting Services 中的重复列值