SQL Server 2005 Reporting Services的条件可见性和分页符
我知道在SQL 2005中存在一个带有条件可见性和页面中断的错误,但是我想知道是否有人提出过解决方案。
我有一个具有条件可见性表达式的表,并且在表末尾需要分页符。
- 如果我将PageBreakAtEnd属性设置为true。无论如何,它都将被忽略。删除可见性条件,它可以工作。
- 如果我将表格放在具有条件可见性的矩形内,并在表格上分页。结果相同。分页符属性将被忽略。
- 如果我用PageBreakAtEnd属性设置矩形,并用可见性条件设置表格,那么即使不显示表格,我仍然会得到分页符。
关于尝试什么还有其他想法吗?我几乎快要准备一份单独的报告,而不是有条件的可见性了:(
编辑:@Josh:有相同的问题。如果第二个表具有条件可见性,则该表不起作用。如果它没有可见性表达式,那么我会一直出现分页符。
@Erick:我真的很想以此作为答案,但不幸的是,它没有用。当可见性表达式评估为隐藏时,矩形将存在很大的空白(我可以使用),而当评估结果为可见时,分页符仍然无效。
解决方案
回答
在第一个表之后立即添加第二个(空)表。之后分页。
回答
放置两个矩形,一个在另一个矩形内。
将表格放在内部矩形内,并将其设置为始终可见。
将内部矩形的分页符设置为"在矩形后插入"。
设置外部矩形的可见性以使用条件表达式。
分页符和条件可见性现在已分离,如果内部矩形的分页符不可见,则不会处理,但如果可见,则将进行处理。
编辑:当我尝试此操作时,它似乎在Visual Studio的"预览"选项卡中似乎不起作用,但在"打印预览"中以及当我将报告导出为PDF时它都起作用。
回答
嗨,这是Bala samsnai,
我也遇到过相同类型的错误。
我在不使用Rectangle的情况下解决了这个问题。
而不是将表达式提供给complete(整个表)
在该选项卡中选择一行,给出可见性表达式。这样,对所有行(例如Header,Detailed,Footer)重复此操作,并给出可见性表达。
这样一来,我们就可以同时进行可视性和Pagging工作
巴拉·萨姆萨尼(Bala samsani)
回答
我尝试了Bala Samsnai解决方案,并且有效。稍后会解释。当我碰到一个无法将表嵌入另一个表的明细行中的障碍时,Erik B的解决方案使用两个矩形进行工作。所以真是太可惜了。
我在报告中遵循了Bala的解决方案,该报告仅包含一个表,该表中包含两个组。我没有采用并应用表达式来控制组的可见性,而是将其保留为可见,并将可见性条件表达式应用于每行的"隐藏"属性。右键单击最左侧的"行句柄",我们将在右侧或者左侧弹出属性窗口(通常是"解决方案资源管理器"旁边的选项卡)。在"可见性"组中,我们将看到一个名为"隐藏"的属性,其默认值为FALSE。单击值,然后在下拉列表中,第一个选项是表达式。 Viola,我们可以设置隐藏行的条件。对我来说,它就像是一种魅力。
希望这对其他人有帮助。就我而言,当某些值设为0时,我不必显示详细信息部分。
回答
我为这个问题苦苦挣扎了好几个小时,直到我发现我的版面要宽到适合印刷(A4)。我用额外的宽度在Hidden = false的文本框中注释了不同的字段,结果生成了两倍于必要的页面来显示空白。
因此,我们可能还需要检查页面宽度。