根据参数显示或隐藏 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)
。是的,艾伦是对的,你必须切换 true
和 False
。以上是关于根据参数显示或隐藏 tablix的主要内容,如果未能解决你的问题,请参考以下文章
如何根据嵌套 tablix 的 (CountRows() = 0) 隐藏 tablix 行,tablix 在 tablix 内
SQL Server 报表生成器:根据子报表中的值隐藏 Tablix 行