Ssrs 2008 SSRS根据rdl文件中的参数以编程方式显示/隐藏tablix列

Ssrs 2008 SSRS根据rdl文件中的参数以编程方式显示/隐藏tablix列,ssrs-2008,reporting-services,ssrs-tablix,Ssrs 2008,Reporting Services,Ssrs Tablix,我有一个SSRS rdl文件,其中包含一个3列tablix表,我希望基于rdl参数以编程方式显示和显示任何列 我可以通过将列的隐藏属性设置为表达式来实现这一点: =Parameters!ShowSecondColumn.Value 但是,问题是,当中间列被隐藏时,列空间仍然存在。我需要的是第三列移动并占据第二列 任何想法都将非常感谢 sss 2008 r2谢谢凯文·费舍尔。正如他指出的,“列可见性”应该设置,而不是字段可见性。假设我的报告(SSRS 2005)有5列。我想根据用户选择的参数(所

我有一个SSRS rdl文件,其中包含一个3列tablix表,我希望基于rdl参数以编程方式显示和显示任何列

我可以通过将列的隐藏属性设置为表达式来实现这一点:

=Parameters!ShowSecondColumn.Value
但是,问题是,当中间列被隐藏时,列空间仍然存在。我需要的是第三列移动并占据第二列

任何想法都将非常感谢


sss 2008 r2

谢谢凯文·费舍尔。正如他指出的,“列可见性”应该设置,而不是字段可见性。

假设我的报告(SSRS 2005)有5列。我想根据用户选择的参数(所有5个列名的多选)显示/隐藏列。按下列步骤做

1) 创建一个字符串类型的参数(ColumnVisibility是my parameter的名称),在参数向导的“可用值”部分的值中,分别为5列和INT number(01,02,03,04,05)的标签中创建所需的列名

2) 然后转到“设计”上的列属性。转到“可见性”并粘贴以下内容

=iif(instr(Join(参数!ColumnVisibility.Value,”,“,”,“01”)>0,false,true)

3) 通过将int值增加1,对所有列重复相同的操作。参见下面的示例

第二栏-

=iif(instr(Join(参数!ColumnVisibility.Value,”,“,”,“02”)>0,false,true)

第三栏

=iif(instr(Join(参数!ColumnVisibility.Value,”,“,”,“03”)>0,false,true)

等等

对于SSRS 2008,当右键单击列时,可以看到“列可见性”选项。将代码粘贴到每列的“基于表达式显示或隐藏”部分

希望这有帮助


Arvind

您能否确认您正在设置实际的“列可见性”,而不仅仅是列中字段的可见性?根据我的经验,当“列可见性”设置为“隐藏”时,隐藏列右侧的任何列都将占用隐藏列的空间。@Kevin Fisher谢谢。它起作用了。我设置的是字段,而不是“列可见性”。谢谢