【问题标题】:SSRS - Shrink report width when hiding columnsSSRS - 隐藏列时缩小报告宽度
【发布时间】:2017-01-20 11:23:54
【问题描述】:

使用 SSRS 2013。我可以隐藏带有布尔值的列,但隐藏列时报表(正文)宽度不会缩小。因此,报告右侧有多余的空白/空白区域。是否有可能消除这个多余的空间?如果是,请您告诉我怎么做?

【问题讨论】:

  • 注意:我正在处理包含在 tablix 中的列。很抱歉省略了这个。

标签: reporting-services ssrs-2012 ssrs-tablix


【解决方案1】:

报告正文宽度 - 与任何列宽一样,但与高度不同 - 是一个在执行时无法更改的设定值。您需要忍受空白,格式化您的表示层以不受空白外观的影响,或者重新设计您的报表,以便以不同的方式实现隐藏列的目标。

【讨论】:

  • 感谢您的快速回答。您能否就如何重新设计报告以解决此问题提出任何建议?
  • 必须看到您的数据、您的要求和报告所在的报告环境。不过,那时我可能会开始向您收取咨询费...
【解决方案2】:

我遇到了与 SSRS 完全相同的限制。我能够实现我相信你想要得到的东西(当某些列由于参数 vals 等而被隐藏时,一致的报告和报告 col 宽度) - 只需拥有 2 个单独格式化的报告 tablix报告中的 /tables 并根据参数(或某些 SSRS 可表达的逻辑)隐藏/显示:

1 表示所有列都存在的条件; 1 用于省略某些列的情况——它们都被格式化以利用所有可用的屏幕空间来最小化空白并让事情看起来“干净”。

当我的隐藏条件为真时,而不是隐藏列 - 我只是显示第二个 tablix 并隐藏第一个。当过滤器更改为显示所有列时,我会执行相反的操作(隐藏第二个 tablix 并使第一个再次可见)。

不确定这是否有帮助,但我想我应该分享一下它是否可以帮助其他面临此问题的人。

PS:您的 tablix 隐藏表达式将如下所示:

[the full column tablix].Hidden
=iif(Parameters!parmOmitSomeCols.Value = true, false, true)

[the tablix with some columns omitted].Hidden
=iif(Parameters!parmOmitSomeCols.Value = false, true, false)

【讨论】:

  • 感谢您的回复。可以显示或排除多种列组合。从我想你告诉我的来看,我需要为每个组合构建一个 tablix,然后使用你提供的逻辑来有效地确定要使用哪个 tablix(即 case/switch)?或者,您是说我可以有 1 个显示所有列的 tablix,然后是另一个处理 1 + n 隐藏列组合的 tablix?
  • 啊。我懂了。是的,我说的是前者(每个组合的单独 tablix - 在我的情况下只有 2 个组合,所以这是最好的方法)。在您的情况下,动态调整大小的列可以轻松解决问题。不幸的是,根据我的研究,似乎自 SSRS 2005 以来一直要求此功能.. 无济于事。 ://
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 2016-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多