2015-10-15 70 views
2

我一直在试图解决这个简单的问题几个小时,没有快乐。SSRS 2008隐藏元素时删除空格

我在SSRS 2008报告中有两个表绑定到不同的数据集,我需要根据传入的参数显示或隐藏适当的表。我已经完成了桌子的隐藏属性,按预期工作。我遇到的问题是,当隐藏顶部项目并显示它下面的项目时,我从隐藏的项目中获得空白区域。

简单的例子

我创建了两个表,并将它们绑定到相同的数据源垂直敷设它们。

enter image description here

我那么顶级表的隐藏属性设置为true和预览的报告。

enter image description here

你可以看到第一个网格隐藏,但白色的空间仍然存在。从我的调查中,我确实看到ConsumeContainerWhitespace属性用于此,但在我的情况下,它并没有清除白色空间。

问题

是否有这些隐藏要素去掉空格的方法是什么?

+0

您可以尝试将两个表嵌入另一个具有1列和两行的较大表中。在每个单元格中放置一个表格,然后根据参数更改行的可见性? – bushell

+0

是否尝试过,但它抱怨这个错误 - “tablix包含一个表头或固定头设置为true的列”。无法看到为什么 –

+0

我刚刚测试了一份报告,并且已经能够正常工作。 ID右键单击每个表并检查“保持标题可见”不勾选。 – bushell

回答

2

见我建议取决于数据集是否是相同的两种解决方案。

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

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

只是由SSRS怪癖造成的另一个解决方法!

0

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

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

enter image description here

ConsumeContainerWhitespace property to remove blank space in SSRS 2008 report

+1

正如我在我的问题中所述,我已经尝试过,并没有解决问题。 –

0

的行为可以通过以下方法

1)上表矩阵左上框中右键单击控制,然后单击“Tablix属性”,打开的表矩阵
2属性)点击“显示或基于表达式隐藏公开程度“在向导
3)点击的左手侧突出‘’,点击Fx的并粘贴以下式

= IIF(ROWNUMBER(” DatasetName来“)= 0,TRUE,FALSE)

4)确保与您的数据集名称(即相关的表矩阵的一个)
5)另外,还要确保ConsumeContainerWhiteSpace属性设置为“真”

ConsumeContainerWhiteSpace属性以替换“DatasetName来”是报告级别的属性,可以从报告的属性窗口进行更改。 (点击设计区域外的报告)

这对我很有帮助。