2013-05-04 40 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