SQL Server 2005 Reporting Services的条件可见性和分页符

时间:2008-08-12 03:46:11

标签: sql-server-2005 reporting-services

我知道SQL 2005中存在条件可见性和分页符的错误,但我想知道是否有人提出了解决方法。

我有一个具有条件可见性表达式的表,我需要在表的末尾有一个分页符。

  • 如果我将PageBreakAtEnd属性设置为true。无论如何都会被忽略。删除可见性条件并且它可以正常工作。
  • 如果我将表放在一个矩形内,该矩形在表上具有条件可见性,并且表中包含分页符。结果相同。分页属性将被忽略。
  • 如果我使用PageBreakAtEnd属性和具有可见性条件的表设置矩形,那么即使未显示表格,我仍然会收到分页符。

关于尝试什么的任何其他想法?我几乎需要一个单独的报告,而不是条件可见性:(

编辑:@Josh:这有同样的问题。如果第二个表具有条件可见性,则它不起作用。如果它没有可见性表达式,那么我会一直得到分页符。

@ Erick:我真的希望这是答案,但遗憾的是它不起作用。当可见性表达式计算为隐藏时,矩形将存在很大的差距(我可以使用),当它评估为可见时,分页符仍然不起作用。

7 个答案:

答案 0 :(得分:10)

放置两个矩形,一个在另一个内 将您的桌子放在内部矩形内,并将其设置为始终可见 将内部矩形的分页符设置为“矩形后插入” 设置外部矩形的可见性以使用条件表达式。

分页符和条件可见性现在是分开的,如果内部矩形的分页符不可见,则不会被处理,但如果它是可见的,它将被处理。

编辑:当我尝试使用它时,它似乎无法在Visual Studio的“预览”标签中工作,但它在“打印预览”中以及将报告导出为PDF时都有效。

答案 1 :(得分:2)

嗨这是Bala samsnai, 我也遇到了同样的错误。

我使用Rectangle来解决这个问题。

而不是将表达式赋予完整(整个表)

选择该tabe中的一行,给出visibilty表达式。就像那样重复所有行(如Header,Detailed,Footer)并给出可见性表达。

通过这种方式,我们可以同时完成Visibilty和Pagging的工作

巴拉萨姆萨尼

答案 2 :(得分:1)

使用具有条件可见性集的矩形,以及该矩形内部的空表,该表具有“之前插入分页符”设置。

答案 3 :(得分:0)

我在这个问题上挣扎了好几个小时,直到我发现我的布局是以适合打印(A4)。我使用了额外的宽度来在Hidden = false的文本框中注释不同的字段,结果生成了两倍于必要的页面来显示空白。

因此,您可能还想检查页面宽度。

答案 4 :(得分:0)

我注意到的一件事是报告之间的差异,即使我在SSRS2005中的不同时间使用了相同的报告作为“模板”。我的意思是,如果你打开报告,你在程序员的编辑器(比如UltraEdit)中遇到问题并查看RDL文件,你可能会略微改变页面宽度和高度。我注意到了这一点并调整了报告我遇到的问题与预期的纸张宽度有关,并且报告在PDF和打印机以及打印预览中都能完美打印。只是一个想法。

答案 5 :(得分:0)

我尝试过Bala Samsnai解决方案并且有效。稍后会解释。当我遇到一个无法在另一个表的Detail行中嵌入表格的障碍时,Erik B解决了两个矩形的问题。所以这真是太可惜了。

我在报告中遵循了Bala的解决方案,该报告在表格中只包含一个表格和两个组。我没有采用和应用表达式来控制组的可见性,而是将其保留为可见,并将可见性条件表达式应用于每一行的隐藏属性。右键单击最左侧的Row Handle,右侧或左侧将显示属性窗口弹出窗口(通常作为Solution explorer旁边的选项卡)。在“可见性”分组中,您将看到名为“隐藏”的属性,其默认值为FALSE。单击值,在下拉列表中,第一个选项是表达式。 Viola,您可以在隐藏行时设置条件。它对我来说就像一个魅力。

希望这有助于他人。在我的情况下,当一些值为0.

时,我不得不显示细节部分

答案 6 :(得分:0)

在第一个之后立即添加第二个(空)表。之后是分页符。