RDLC报告的动态列宽

时间:2013-04-28 11:02:32

标签: reporting-services rdlc

假设我有10列来查看报告,我想在运行时根据用户选择的参数值隐藏其中的3列。这可以通过基于前述参数的值设置这3列中的每列的列可见性来容易地完成。直到这里完全没问题。

问题是当报告显示(隐藏3列)时,其余7列占据隐藏列的位置,因此表的总宽度相应减少。我不希望这种情况发生。即我希望表格宽度保持不变。

也就是说剩下的列宽应该能够以某种方式扩展,以便表的原始总宽度保持不变。

这可能实现吗?

1 个答案:

答案 0 :(得分:21)

列宽不是基于本机表达式,但您可以实现类似的功能。它是否适合您,我认为将取决于您的具体报告布局以及变通方法如何影响任何其他元素。

无论如何,一个简单的例子。我已经针对包含三个字段的DataSet创建了一个报告:

enter image description here

我已将val2设置为由布尔参数HideColumn控制其可见性。这很好。

请注意,表格中实际上有五个列。对于val1val3,实际上有两列,我将合并列中的字段。

此处的关键是,当HideColumn设置为 true 时,我们会显示val1val3的额外列,以及何时 false 我们隐藏列 - 基本上与val2的可见性相反。

SSRS将根据哪些列可见来相应地调整合并字段的宽度:

enter image description here

enter image description here

因此,在这种情况下,它可以按要求运行。对于您的示例,您需要考虑大小和这些额外列的所需宽度,但原理是相同的。

这只适用于设置列,即不是矩阵,但希望对您来说已经足够了。