2016-11-21 72 views
2

我有一个报告,其中包含一个Tablix /表,其中包含我通过列/行可视性对话框有条件地隐藏表达式的行和列集。在同一个表达式中隐藏具有相同表达式的SSRS报告中的多个行或列

如果例如我有3列,我想都具有相同的表达式来确定其可见性,有没有什么办法可以实现这一点,而无需打开每个列的列可见性对话框并输入适当的表达式?

我试过选择多个列,但然后右键单击上下文菜单不再提供列可见性选项(它是灰色的),我也试过列的隐藏属性(可以修改通过选择多个列来确定大小),但是这只会阻止列的渲染,留下一个曾经存在的空白区域(而不是列可见性的工作方式,隐藏列右侧的列移动到填充间隙,就像隐藏Excel工作表中的列一样)。

是否有可能实现我之后的工作,或者是否需要继续为每个希望有条件地隐藏/显示的列/行打开“列/行可见性”对话框?

回答

2

如果要控制可见性的列彼此相邻,则可以为它们创建一个列组,并通过组管理可见性。

  • 在适当的级别添加一个新的列组,以便只包含相关的列。
    • 如果您已经有列组,这可能是一个儿童组或邻接组。
    • 如果不是,则可以通过将报表数据中的数据集字段拖动到组窗格中来创建初始列组。
  • 在新组中插入新列,并将数据从现有的相关列移到组中。
  • 新组不需要重复,因此在其属性窗口中将Group on:设置为纯文本值,例如, “1”。
  • 将所需的可见性设置输入到属性窗口的可见性页面中。
  • 对于组内的每个单独列,将Hidden属性设置为False,以删除可能会干扰的任何其他表达式或设置。
+0

有趣的是,当我有机会看到它是否适合我时,我会试试这个。谢谢回答。 – 3N1GM4

+0

这很好,谢谢。我做的唯一一件额外的事情是删除由于添加列组而添加的额外行。 – 3N1GM4

-1

选择您想要有条件隐藏的列,然后按F4查看属性窗口。查找“可见性”节点并使用Hidden属性设置条件表达式。

该表达式应评估为True隐藏和False表示。

enter image description here

让我知道,如果这有助于。

+0

遗憾的是没有。根据我的问题中的细节,使用列的可见性 - >隐藏属性只是将它们从视图中隐藏起来,而不是像在单个列上使用列可见性选项时隐藏相邻列一样。 – 3N1GM4

0

不完全是你要找的,但可能是一个中途点 - 这可以应用于许多可见性(例如背景颜色,工具提示) - 直接使用视图代码编辑RDL。这具有额外的好处,即可以实现每列几乎相同的更改,而不会因最少的鼠标使用量而产生相同的更改。

通常,我已经在设计器中设置了一列,然后复制/粘贴到其他列下。在能见度的情况下查找<TablixColumnHierarchy><TablixMemebers>。您将看到一个空的<TablixMember />项目的列表,以及您已经设置了一列的扩展<TablixMember><Visibility><Hidden>=...块。只需复制粘贴在感兴趣位置空白项目上的粘贴(不幸的是,因为没有标识符,您需要将其计数)。

奖励提示:如果您犯了一个错误或想稍后改变某些内容,可以立即替换所有表达式(允许使用可选的正则表达式)。

记得备份或在工作中首先检查,因为设计者可能无法打开该报告再次正确,如果你犯了一个错误:-)

相关问题