У меня есть отчет в SSRS 2008, который показывает данные, агрегированные по четырем уровням группировки. Я использую элемент управления ASP.NET ReportViewer для отображения отчета в моей веб-форме.
Если я покажу все четыре уровня подробно, отчет получится очень очень длинным (сотни страниц). Поэтому я хотел бы установить уровень по умолчанию, чтобы показать (1-4), когда я отображать отчет - я делаю это, имея параметр отчета типа INT (@ShowLevel), который я устанавливаю при выводе отчета для первый раз.
Строки в tablix устанавливаются как скрытые, если уровень, на котором они находятся, превышает значение @ShowLevel, например, если @ShowLevel = 2, для строк на уровне 3 и уровне 4 их свойство "Hidden" будет установлено в значение True и не будет отображаться.
Пока отлично - все работает хорошо и все.
НО: теперь клиент хотел бы сначала визуализировать отчет до уровня 2, но затем интерактивно развернуть некоторые узлы уровня 2, чтобы показать их подузлы уровня 3.
Как мне справиться с этим? Поскольку на 3-м уровне скрытое имеет значение «истина», узел будет «расширяться», но под ним ничего не показано ... есть ли способ для узла 3-го уровня проверить наличие
Hidden = (@ShowLevel < 3) OR (group-parent is expanded)
или что-то в этом роде, чтобы поддерживать начальный уровень рендеринга (установленный с помощью параметра отчета), но все же разрешать интерактивное расширение отдельных узлов даже после этого начального «уровня отображения»?
Кажется, я не могу понять, как сделать это правильно и легко ......
Есть идеи? Советы? Советы и хитрости ??