У меня есть серверные отчеты (* .rdl), которые возвращают данные из представления SQL Server 2008. Пользователь хотел бы иметь возможность динамически добавлять фильтрацию, например.Службы отчетов: динамически добавлять фильтры в отчет сервера
- показать мне только данные с Язык = английский,
или - показать мне только данные для данной организационной единицы
или тому подобное. Количество критериев фильтрации достаточно мало (четыре или пять).
Но как это сделать? У меня есть RDL на сервере, с базовым запросом (SELECT (fields) FROM MyView WHERE ......
) внутри набора данных отчета - как я могу динамически добавлять фильтрацию к этому?
Я надеялся, что смогу определить фильтры набора данных, но они, похоже, должны быть на месте, когда RDL тоже будет отображаться (например, они станут частью самого отчета RDL).
Возможные значения для каждого критерия слишком многочисленны, что я мог бы просто добавить их в список и определить IN (list of values)
вид фильтра .....
Любые идеи ?? Мысли? Я что-то упускаю?
Решения: Я решил его с помощью опции фильтрации по набору данных отчета, который я поставил в фильтр «фиктивного» в начале, который сообщает обратно все, а потом обновлять его фильтровать по фактическому столбца и значения, которые пользователь указывает в пользовательском интерфейсе. До сих пор хорошо работает!
@ Ed: для одного или двух из них это будет работать - у них есть только несколько возможных значений. Некоторые, однако, имеют потенциально сотни или тысячи возможных значений, поэтому это не реально. –
@marc_s: Вас беспокоит размер списков значений из-за удобства использования, производительности или чего-то еще? Если юзабилити является проблемой, можно ли подклассифицировать списки в иерархии? –
@Ed: оба, действительно - список с четырьмя или пятью записями в порядке, но если это сотни или больше, это не очень удобно (для пользователя) и не очень полезно для производительности .... –