【发布时间】:2013-04-17 16:35:29
【问题描述】:
我正在 VS2012 中创建 SSRS 报告。
在 Tablix 属性下,我可以使用使用布尔参数的表达式来显示或隐藏表格;但这在报告中留下了空白。
有什么方法可以直接删除表格吗?
【问题讨论】:
标签: ssrs-2008 reportviewer reporting-services rdlc
我正在 VS2012 中创建 SSRS 报告。
在 Tablix 属性下,我可以使用使用布尔参数的表达式来显示或隐藏表格;但这在报告中留下了空白。
有什么方法可以直接删除表格吗?
【问题讨论】:
标签: ssrs-2008 reportviewer reporting-services rdlc
您可以调用子报表并根据变量确定不同的子报表。据我所知,您无法使用 SSRS 删除空间,它并非旨在删除空间,只需对占用空间的对象执行不同的操作。不幸的是,我什至不认为您可以动态调整对象的大小。但是,您可以作弊并制作两个子报表,一个带有假定的表,一个没有。然后,当您的变量被击中时,它会调用一个而不是另一个。由于子报表可以更改大小,因此这是一种欺骗系统语言限制的方法。它可能不符合您的需求,但理论上可以解决这个问题。
【讨论】:
我认为这取决于报告布局和各种情况。我创建了最简单的案例:
在设计器模式下,您可以看到报表中只有三个表格,没有其他内容。中间表的可见性是基于参数的。在这种情况下,SSRS 确实会根据中间是否可见来移动最后一个表:
在这种情况下,您可能仍然有太多的空白显示。有多种方法可以解决这个问题。一个例子是将中间表嵌入到一个矩形中,该矩形延伸到最后一个表的顶部,然后将可见性表达式从表移动到矩形。在设计师中:
最终结果,看起来更好:
我想我想展示的只是 SSRS 有时确实会根据可见性移动事物,但您也可以使用 Rectangles 等工具应用额外的控制来控制可见性和布局。
【讨论】: