2013-05-04 2 views
1

Я хочу попытаться реализовать параметр, который позволит пользователям динамически выбирать, какие столбцы будут отображаться в отчете. Идея заключается в создании параметра с несколькими значениями, который имеет имена столбцов. После того как пользователь нажал «Просмотр отчета», я хочу попробовать перебрать столбцы и выбранные значения, чтобы присоединиться к видимости.Итерации над столбцами отчета для динамического отображения/скрыть их?

Как я могу перебирать столбцы внутри таблички?

Как я могу перебирать несколько значений параметра, поэтому я могу найти, выбрано ли какое-либо значение или нет?

Я использую MS SQL Reporting Services 2012.

ответ

4

Для таблицы, то есть фиксированные столбцы, вы можете использовать следующий подход. На самом деле это не петля, а отдельная четкая проверка видимости для каждого столбца на основе выбора параметра.

Настройте многозначный параметр, который отображает столбцы, которые могут отображаться/скрываться.

Тогда для каждого из этих столбцов в фактической таблице, установите видимость Column использовать выражение на основе параметра:

enter image description here

Выражение будет что-то вроде:

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

Что это такое, это построить строку всех выбранных значений для параметра IncludedColumn, затем che cking, если включен определенный идентификатор столбца; Col1 для данной колонки. Вы должны использовать разные константы для каждого столбца.

Поэтому при запуске отчета этот подход может скрывать/отображать столбцы на основе выбора параметра.

Все колонки выбраны:

enter image description here

Некоторые столбцы выбраны:

enter image description here