Скрытие\отображение строк и колонок в сводной таблице в зависимости от условий |
Ссылки Назад Вверх Вперед |
Иногда требуется скрывать или отображать определенные поля в отчете в зависимости от определенных условий.
Скрытие полей или бэндов отчета
Пример: для подробного отчета отображается бэнд с детализацией данных, а для сокращенного представления этот бэнд скрывается.
Скрытие бэнда с подробными данными в зависимости от выбранного пользователем параметра фильтра.
Чтобы управлять отображением и скрытием поля на странице отчета, достаточно присвоить нужное значение свойству Visible:
Data1.Visible = true
или
Data1.Visible = false
Скрытие строк и колонок сводной таблицы
Пример 2: в отчете о трудозатратах пользователь может выбрать, какие данные он хочет просматривать: плановые трудозатраты (план), фактические трудозатраты (факт), остаток (т.е. план — факт). В зависимости от полей, отмеченных пользователем в фильтре, должны скрываться /отображаться колонки таблицы со сводными данными.
Скрытие колонки сводной таблицы в зависимости от выбранного пользователем параметра фильтра.
Для строк и колонок сводной таблицы (pivot) использование свойства Visible не дает нужного результата. В этом случае можно использовать изменение ширины колонки или высоты строки:
// видимость колонки "Осталось" в зависимости от выбранной в фильтре детализации
if (Report.GetParameterValue("FilterColumns").ToString().Contains("осталось") == false)
ColumnRest.Width = 0;
else
ColumnRest.Width = 40;
Ширина колонки или высота строки в примере выше указывается в пикселях, но можно использовать и преобразование в сантиметры:
ColumnRest.Width = Units.Centimeters * 2; // 2 см
Обратите внимание, что для корректной работы этого способа скрытия/отображения колонок и строк необходимо следующее: |
---|
•отступы (Padding) в нужных колонках и строках должны быть убраны. Для колонок необходимо убрать отступы справа и слева, а для строк — отступы сверху и снизу:
Нулевые отступы необходимы для скрытия строки\столбца.
•у колонок и строк свойство Autosize должно быть равно False. Чтобы отключить Autosize у колонок или строк, необходимо сначала отключить это свойство у всей таблицы. Также у колонок свойство MinWidth должно быть равно 0, а у строк свойство MinHeight должно быть равно 0.
Параметр Autosize для строки/столбца, которые необходимо скрывать, должен быть отключен.