我在Reporting Services 2005中有一个报表,我想基于报表参数隐藏或显示单个表列。有谁知道怎么做?
谢谢!
答案 0 :(得分:10)
使用列的visibility属性。这对我有用。
=iif(Parameters!ParameterName.Value = "TextValueOfTheParameter",False,True)
答案 1 :(得分:7)
将列的可见性设置为将返回true或false的表达式。例如,可以在TextBox的“可见性”选项卡中找到此属性。
单击Expression的单选选项,然后表达式可能如
=Parameters!ShowColumn.Value
答案 2 :(得分:3)
提示:如果表达式返回“False”,则列或行将可见。如果表达式返回“True”,则表达式将被隐藏。这首先让我抓狂。
答案 3 :(得分:2)
对于我的部分报告,我已将列的可见性(特别是隐藏属性)设置为:
=IsNothing(Fields!Site.Value)
请注意,这只适用于基础数据集中相关字段为空的情况,否则您将看到空白列。
答案 4 :(得分:2)
假设我的报告(SSRS 2005)有5列。并且我想基于用户选择的参数(具有所有5个列名称的多选)来显示/隐藏列。做如下
1)创建一个string类型的参数(ColumnVisibility是我的参数的名称),5列的标签中有所需的列名, INT 号(01,02,03,04,05)分别在参数向导的“可用值”部分的值中。
2)然后转到设计栏属性。转到“可见性”并粘贴以下
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"01")>0,false,true)
3)通过将int值增加1来对所有列重复相同的操作。例如,参见
第二栏
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**02**")>0,false,true)
第3栏
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**03**")>0,false,true)
等等。对于SSRS 2008,当您右键单击该列时,您可以看到“列可见性”选项。将代码粘贴到每列的“显示或隐藏基于表达式”部分。
答案 5 :(得分:1)
如果要隐藏整列,当报表中的特定列根本没有数据时,您可以在列可见性/表达式中使用以下代码:
=IIF(IsNothing (Sum(Fields!columnA.Value, "ReportA")),False,True)
答案 6 :(得分:0)
当我如上所述时,我可以让列消失,但它在我的表中留下了空白。这是预期的结果吗?我希望这些专栏也会转移。我正在尝试为一个组隐藏一个列,然后将其显示给下一个组。
答案 7 :(得分:0)
要使空列消失,
右键单击列以选择“列可见性”,然后选择“将表达式设置为隐藏:
”IIF(IsNothing(Fields!FieldName.Value),True,False)