根据参数显示或隐藏 tablix

Posted

技术标签:

【中文标题】根据参数显示或隐藏 tablix【英文标题】:Show or hide tablix based on parameter 【发布时间】:2018-10-15 07:40:47 【问题描述】:

场景是应该有一个下拉参数来选择表名,当用户点击查看报告时,他应该看到来自该特定表的数据。

两个表都有不同的列。

我尝试为两个表创建不同的数据集,并创建了两个 tablix 并将它们绑定到各自的数据集,并根据表达式为显示/隐藏 tablix 设置条件。

但仍然我收到错误时,选择表时不存在列(来自其他表)。

我是 s-s-rS 的新手,非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

为您的报告添加一个参数 (TablixChosPara)。根据您的不同选择:

=1  'Tablix1
=2  'Tablix2

然后将两个 tablix 添加到您的报表中,其中包含两个不同的列或数据集。然后进入tablix属性,在'Show or hide tablix based on expression'下写下如下表达式

=IIF(Parameters!TablixChosePara.Value = 1, True, False)

第二个 tablix l:

=IIF(Parameters!TablixChosePara.Value = 2, True, False)

【讨论】:

我创建了一个下拉参数,其中包含表名-Table1 和 table2。我创建了如下表达式:=IIF(Parameters!TableName.Value = "Table1", True, False) for tablix 1 和 =IIF(Parameters!TableName.Value = "Table2", True, False) for tablix2。但它仍然会引发错误。当我从下拉列表中选择 table1 时,它会抛出 col1(table2 的)不存在的错误,反之亦然。 所以要清楚,你有两个数据集、两个 tablix 对象和一个参数,对吗?如果是这样,那么提供的答案应该有效(除了 true 和 false 是错误的方式,因为您正在设置 hidden 属性,所以 True = hidden)。如果不是这种情况,请更新您的问题以显示报告设计,数据集格式(输出列)和任何其他相关代码/设置/参数等。 这取决于你的价值。您有参数的标签和值。标签是用户看到的,值是后台的实际值。因此,如果您的标签是Table1 并且值是1,那么表达式就像=IIF(Parameters!YourParameterName.Value = 1, False, True)。是的,艾伦是对的,你必须切换 trueFalse

以上是关于根据参数显示或隐藏 tablix的主要内容,如果未能解决你的问题,请参考以下文章

如何根据嵌套 tablix 的 (CountRows() = 0) 隐藏 tablix 行,tablix 在 tablix 内

基于参数的报表中的多个 Tablix 显示

SQL Server 报表生成器:根据子报表中的值隐藏 Tablix 行

根据文本字段是不是 =“0”过滤 Tablix

s-s-rS:在导出到 Excel 时抑制 Tablix 上的隐藏行组

s-s-rS-基于另一个 Tablix 值隐藏 Tablix