代码之家  ›  专栏  ›  技术社区  ›  Dustin Brooks

子报表尝试保持在一起,留下空白点/页面

  •  8
  • Dustin Brooks  · 技术社区  · 16 年前

    我的布局如下:

    • 我有一个包含表格的主报告
    • 子报告添加到3个组中的一个组,并通过将该组密钥传递给子报告来执行

    因此,一个特定的子报表将在GrpLevel1上运行,对于它包含的每个级别2,GrpLevel2下的子报表都将运行。

    我遇到的问题是,子报告想要跳转到下一页,在报告中留下一个空白的大洞。

    如果子报表包含一个包含大量数据的表,并且它不能放在页面的3/4上(报表的第一页在顶部1/4上有报表标题),它会将整个内容跳转到下一页,只留下一个标题,而不是在第一页上打印它可以打印的内容。

    在桌子上,我关掉了“保持在一起”。

    我不知所措,准备放火烧我的立方体。如能对此有所了解,将不胜感激。

    使现代化 ****************这已在SSRS 2008 R2中修复***********************

    6 回复  |  直到 14 年前
        1
  •  6
  •   Nathan    16 年前

    看来这个问题没有解决办法。该漏洞已被微软知晓,但在SSRS2008中仍未修复。

    http://support.microsoft.com/kb/938943 )

    发生这种行为是因为 子报表控件具有隐式 KeepTogether属性试图保留 一页子报表的内容。 由于这种行为,报告 如果子报表不适合,则报告 与主报告在同一页上。 新页面上的子报表。

    他们列出的解决方案本质上是“不使用子报表”

        2
  •  4
  •   Joe    12 年前

    解决方案是在代码中更改子报表属性。

    1. 转到解决方案资源管理器,右键单击报告并单击“查看代码”。

    2. 搜索您的子报表。

    3. 在子报表标记中,您可以找到“ <KeepTogether> ,将其设置为“true”,将其更改为“false”

    设计器无法使用此属性,必须从实际报表xml代码更改此属性。

        3
  •  1
  •   lalo    14 年前

    右键单击子报表并选择“格式化子报表”,然后取消选中“保持对象在一起”

        4
  •  0
  •   Ben    15 年前

        5
  •  0
  •   Kishani    11 年前

    我花了一个星期才解决这个问题!但我确实找到了解决办法,很高兴与大家分享。

    我也有同样的问题。在我的主报告中,有一个表包含3个组,每个组中有2个不同的子报告。这些子报告有矩阵。我认为,不管矩阵是什么,子报告被放置在表格的组/详细信息栏中,会导致在节之前、节之间和节之后打印大量不必要的空白页。这是一件让人头疼的事,我本想删除子报告,但后来它破坏了报告的全部目的。

    最后,修复的方法不是将子报表放在表中组的详细栏中,而是将它们放在组的页脚中。现在我知道这可能会改变/影响报告的格式,并且可能不符合您的报告目的。但这为我解决了这个问题。绕过空白页面问题的另一种方法是将子报告留在任何地方(细节或组带),并将其他细节带移动到一个脚注带中。基本上,需要记住的是减少表中的详细信息/组标注栏的数量。如果可以管理的话,请限制分组并在一个表中拥有最少数量的子报表。

    希望这能帮助其他人。

        6
  •  0
  •   Snehal Indurkar    11 年前

    如果子报表位于任何组中,则应转到组属性并将该组的“保持在一起”属性切换为false。这对我有用。