【问题标题】:SSRS - Prevent pagebreak in the middle of a row groupSSRS - 防止行组中间的分页符
【发布时间】:2016-06-28 20:49:09
【问题描述】:

我有一个 SSRS 报告,它被导出为 PDF,然后打印到纸上。我遇到的问题是我在组中间遇到分页符。

我有 MetricGroup - MetricSubGroup 和详细信息。这些是我的行组。

我在报告中有几个不同的 MetricGroup。

我需要做到这一点,以便我的报告不会在 MetricGroup 中间中断。

所以现在我可以说第 1 页上有 2 个指标组和第 3 个指标组的一半。第 2 页包含第 3 个指标组的后半部分,依此类推。

如果指标组不完全适合当前页面,我需要 SSRS 将指标组推送到下一页。

这可以实现吗?

【问题讨论】:

    标签: reporting-services ssrs-2012


    【解决方案1】:

    您需要使用 KeepTogether 选项 - 但请记住,这是一个“尽力而为”的过程 - 例如,您不能将两千行放在一个页面上。

    另一种方法是强制分页和报表的某些部分。

    【讨论】:

      【解决方案2】:

      为了详细说明上一个答案,为任何给定的 tablix 成员指定 KeepTogether = true 将尝试将该 tablix 成员的所有元素保持在一起。

      因此,如果您在 MetricGroup tablix 成员上指定 KeepTogether,SSRS 将尝试将该 tablix 组的所有元素保持在一起,并且当由于报告跨越多个页面而失败时,它将在需要的地方分页,从而导致组中断翻页。

      但是,如果您在 MetricSubGroup tablix 成员上指定 KeepTogether,则 SSRS 将尝试将 MetricGroup 中的所有子组保持在一起,这将导致父 MetricGroup 在可能的情况下尝试不中断页面。

      我要明确说明这一点,因为这里有一个常见的退化案例 - 一个没有任何分组但具有复杂详细信息 tablix 的报告,每个数据记录生成多行。尝试在详细信息 tablix 上指定 KeepTogether 将尝试将所有详细信息保持在一起,从而引入意外的分页符。

      在这种情况下,您需要生成一个详细信息组作为详细信息表的直接父级,并按报告标识进行分组。然后,您可以在详细信息 tablix 上指定 KeepTogether,它只会将单个数据记录的成员保存在一起。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-24
        • 1970-01-01
        • 2012-03-03
        • 1970-01-01
        相关资源
        最近更新 更多