2013-05-04 58 views
1

我想尝试并实现一个参数,该参数将允许用户动态选择将在报告中显示哪些列。一个想法是创建一个具有列名称的多值参数。用户点击查看报告后,我想尝试遍历列和选定的值以加入可见性。迭代报表的列以动态显示/隐藏它们?

如何迭代tablix中的列?

我如何迭代一个参数的多个值,所以我可以找到是否选择了某个值?

我使用MS SQL Reporting Services的2012年

回答

4

对于表,即固定列,您可以用下面的办法。它不是基于循环的,而是基于参数选择对每列进行单独的可见性检查。

设置列出可以显示/隐藏的列的多值参数。

然后,对于每个在实际的表中的这些栏的,设置列能见度使用基于所述参数的表达式:

enter image description here

表达式将是这样的:

=IIf(InStr(Join(Parameters!IncludedColumn.Value, ","), "Col1") > 0, false, true) 

这是做什么构造一个字符串的所有选定的值为IncludedColumn参数,然后车如果包括某个列标识符,则进行封装; Col1这个特定的列。你会为每列使用不同的常量。

因此,在运行报告时,此方法可以根据参数选择来隐藏/显示列。选择

所有列:选择

enter image description here

一些列:

enter image description here