从rdlc报告中动态删除表

时间:2013-04-17 16:35:29

标签: ssrs-2008 reportviewer reporting-services rdlc

我正在VS2012中创建SSRS报告。

在Tablix属性下,我可以使用一个使用布尔参数的表达式显示或隐藏表格;但这在报告中留下了空白。

有没有办法可以删除表格?

2 个答案:

答案 0 :(得分:0)

您可以调用子报表并根据变量确定不同的子报表。根据我的了解,您不能使用SSRS删除空间,它不是为了删除空间而设计的,只是对占用空间的对象执行不同的操作。我甚至认为你不能动态调整对象的大小。你可以欺骗并制作两个子报告,一个是假设的表,另一个没有。然后当你的变量被击中时,它会调用一个而不是另一个。由于子报表可以更改大小,因此可以欺骗系统的语言限制。它可能不符合您的需求,但理论上可以解决这个问题。

答案 1 :(得分:0)

我认为这取决于报告布局和所有种类。我创建了最简单的案例:

enter image description here

在Designer模式下,您可以看到报告中只有三个表,没有别的。中间表的可见性是基于参数的。在这种情况下,SSRS会根据中间是否可见而努力转移最后一个表:

enter image description here

enter image description here

在这种情况下,您仍然可能显示太多的空白。有很多方法可以解决这个问题。一个示例是将中间表嵌入到矩形中,该矩形扩展到最后一个表的顶部,然后将可见性表达式从表移动到矩形。在设计师中:

enter image description here

最终结果,看起来更好:

enter image description here

我想我想要展示的是SSRS确实会根据可见性移动一些东西,但您也可以使用矩形等工具来控制可见性和布局。