SSRS 2008 隐藏元素时删除白色 space

SSRS 2008 Removing white space when hiding elements

几个小时以来,我一直在尝试解决这个简单的问题,但并不愉快。

我的 SSRS 2008 报告中有两个 table,它们绑定到不同的数据集,我需要根据传入的参数显示或隐藏适当的 table。这是我用 table 的隐藏 属性 完成的,它按预期工作。我遇到的问题是,当隐藏最上面的项目并显示它下面的项目时,我从隐藏的项目中得到白色 space。

简单的例子

我创建了两个 table 并将它们绑定到同一数据源并垂直放置。

然后我将顶部 table 的隐藏 属性 设置为 true 并预览报告。

您可以看到第一个格子被隐藏了,但白色 space 仍然存在。从我的调查中,我确实看到 ConsumeContainerWhitespace 属性 用于此,但在我的情况下,它没有清除白色 space.

问题

有没有办法去除这些隐藏元素的白色space?

这可以通过确保报告 ConsumeContainerWhiteSpace 属性 设置为 true 来解决。

这可以在报告属性中找到。单击报表的黄色框,按 F4 打开“属性”窗格,您可以在下面找到 ConsumeContainerWhiteSpace

另见 ConsumeContainerWhitespace property to remove blank space in SSRS 2008 report

我会根据数据集是否相同推荐两种解决方案。

1:如果它们共享一个公共数据集,那么我会将它们放在另一个具有 1 列和 2 行的 table 中,然后根据参数更改行可见性​​。

2:如果数据集不同,我会让每个 table 成为一个子报告,然后以这种方式更改可见性。

SSRS 怪癖引起的另一种解决方法!

可以通过以下方法控制行为

1) 右键单击​​ tablix 左上角的框,然后单击 'Tablix Properties' 打开 tablix
的属性 2) 单击向导左侧的 "Visibilty" 选项卡
3) 点击"Show or hide based on an expression",点击Fx,粘贴以下公式

=IIF(行号("DatasetName")=0,TRUE,FALSE)

4) 确保将 "DatasetName" 替换为您的数据集名称(与 tablix 相关的名称)
5) 同时确保 ConsumeContainerWhiteSpace 属性 设置为 "True"

ConsumeContainerWhiteSpace 属性 是报告级别 属性 并且可以从报告的属性 window 更改。 (点击设计区域外的报表)

这对我很有效。

Select 对象,转到属性并将大小设置为 0,0

有线。仅将它们包含在另一个 tablix 或子报表中,然后它可以隐藏它们而没有白色 space.