8

报告服务 2005

我的布局是这样的:

  • 我有一个包含表格的主报告
  • 该表由 3 个组运行,GrpLevel1、GrpLevel2、GrpLevel3
  • 子报告被添加到 3 个组之一,并通过将该组键传递给子报告来执行

因此,特定的子报表将在 GrpLevel1 运行,并且对于它包含的每个 level2,GrpLevel2 下的子报表都将运行。

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

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

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

我不知所措,准备将我的立方体点燃。对此的洞察力将不胜感激。

更新****************这已在 SSRS 2008 R2 中修复******************************
它有已通过 (SQL Server) Reporting Services 2008 R2 修复。您现在可以在子报告上切换 KeepTogether。分页看起来好多了。

4

6 回答 6

6

看起来这个问题没有解决方案。该错误已被微软承认,但在 SSRS2008 中仍未修复。

来自知识库文章 ( http://support.microsoft.com/kb/938943 )

出现此问题的原因是 Subreport 控件具有隐式 KeepTogether 属性。按照设计,KeepTogether 属性尝试将子报表的内容保留在一页上。由于这种行为,如果子报表与主报表不在同一页面上,报表引擎会在主报表上创建空白区域。然后,报表引擎在新页面上创建子报表。

他们列出的解决方法本质上是“不要使用子报告”

于 2009-05-04T06:39:30.953 回答
4

我不确定 SSRS 的早期版本,但我在 SSRS 2008 中遇到了同样的问题。

解决方案是更改代码中的 Subreport 属性。

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

  2. 搜索您的子报表。

  3. 在子报表标签内你会发现“ <KeepTogether>”,它会被设置为“true”,将其更改为“false”

此属性不可从设计器中获得,必须从实际的报告 xml 代码中更改。

于 2012-05-16T15:22:11.920 回答
1

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

于 2010-09-26T20:24:57.327 回答
0

我解决这个问题的另一种方法是将子报表放在报表标题中。当然,这非常依赖于报告内容并消除了后续部分的任何用处,但它确实解决了我在第一页上有大量空白的问题。

于 2009-12-04T19:45:05.413 回答
0

我花了一个星期才解决这个问题!但我确实找到了解决方案,并很高兴与您分享。

I had the exact same problem. In my main report, there is a Table that has 3 groups and 2 different subreports in each group. And these subreports had matrices. I believe regardless of matrices, subreports being placed inside group/detail bands within a table caused alot of unnecessary blank pages to be printed before, in between and after the sections. It was a pain the neck and I was thinking of removing the subreports but then it defeats the whole purpose of the report.

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

希望这可以帮助那里的人。

于 2013-07-26T01:39:21.037 回答
0

For SSRS 2008 If your subreports are in any group, you should go to group properties and switch the keep together property for that group(s) to false. This worked for me.

于 2014-03-01T05:03:26.650 回答