基于 Microsoft 报告服务中的参数的列的自动 re-size

Automatic re-size of a column based on a parameter in Microsoft reporting services

我正在使用 Microsoft Report Viewer v11.0.0.0。我的报告页面中有一个包含 10 列的 table。报告的最后一列可能会根据参数隐藏。我想要的是根据此参数(或最后一列的可见性)自动 re-size 标题为 Description 的列。所以假设如果参数 p 为 1,则列描述将为 5 厘米,否则为 8 厘米。我没有看到用于为其大小编写 IIF 表达式的列区域,因此卡住了。如果有人能提供帮助,我将不胜感激。

编辑:我看到了这个页面,但它对我不起作用:http://blog.sharepointalist.com/2009/05/ssrs-column-width-auto-size.html

实现此目的的一个技巧是创建一个额外的 8 厘米宽的列,并包含与 5 厘米列相同的数据。

您有 A 列和 B 列。

  • A为5cm
  • B为3cm
  • C 包含与 A 相同的数据,但为 8cm

现在 select 列 A 并设置列可见性(right-click 列 header 以编辑此)。 将 'show or hide based on expression' 设置为 =IIF(Parameters!Paramter_p.Value = 1, True, False)

对 B 做同样的事情。

对 C 执行几乎相同的操作,但将 'show or hide based on expression' 设置为 =IIF(Parameters!Paramter_p.Value = 1, False, True)

现在 Parameter_p = 1 A 列和 B 列将可见并占用 8 厘米。 Parameter_p <> 1 A 列和 B 列将不可见,将被 8cm 的 C 列取代。

这实际上看起来像是 A 列从 5 厘米扩展到 8 厘米,以占用隐藏的 B 列的额外 3 厘米 space。