У меня есть отчет в Reporting Services 2005, и я хочу скрыть или показать один столбец таблицы на основе параметра отчета. Кто-нибудь знает, как это сделать?
Спасибо!
У меня есть отчет в Reporting Services 2005, и я хочу скрыть или показать один столбец таблицы на основе параметра отчета. Кто-нибудь знает, как это сделать?
Спасибо!
Установите для видимости для столбца выражение, которое вернет true или false. Это свойство можно найти на вкладке "Видимость" в текстовом поле, например.
Выберите параметр радио для выражения, а затем выражение будет выглядеть как
=Parameters!ShowColumn.Value
Используйте свойство видимости столбца. Это сработало для меня.
=iif(Parameters!ParameterName.Value = "TextValueOfTheParameter",False,True)
Совет. Если выражение возвращает "False", то столбец или строка будут видны. Если выражение возвращает "True", выражение будет скрыто. Сначала это обмануло меня.
Для некоторых моих отчетов я установил видимость (в частности свойство Скрытое) для столбца :
=IsNothing(Fields!Site.Value)
Обратите внимание, что это работает только в том случае, если соответствующее поле может быть пустым в базовом наборе данных, иначе вы увидите пустой столбец.
Допустим, мой отчет (SSRS 2005) содержит 5 столбцов. И я хочу показать/скрыть столбцы на основе параметра (multi select со всеми 5 именами столбцов), выбранного пользователем. выполните следующие действия
1) Создайте параметр строки типа (ColumnVisibility - это имя моего параметра) с нужными именами столбцов в ярлыках для 5 столбцов и INT (01,02,03,04,05) соответственно в значениях в разделе "Доступные значения" мастера параметров.
2) Затем перейдите в раздел "Свойства по конструкции". Перейдите к "видимости" и вставьте следующий
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"01")>0,false,true)
3) повторите то же самое для всех столбцов, увеличив значение int на 1. Следуйте примеру
Вторая колонка
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**02**")>0,false,true)
Третий столбец
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**03**")>0,false,true)
И так далее. Для SSRS 2008, когда вы щелкаете правой кнопкой мыши по столбцу, вы можете увидеть опцию "Column Visibility". вставьте код в разделе "показать или скрыть на основе выражения" для каждого столбца.
Если вы хотите скрыть весь столбец, когда для отчета в этом конкретном столбце нет данных, вы можете использовать следующий код в видимости/выражении столбца:
=IIF(IsNothing (Sum(Fields!columnA.Value, "ReportA")),False,True)
когда я делаю то же, что и выше, я могу удалить столбец, но он оставляет пробел в моей таблице. Это ожидаемый результат. Я надеялся, что столбцы тоже перейдут. Я пытаюсь задержать столбец для одной группы, а затем отобразить его для следующей группы.
Чтобы удалить нулевой столбец,
Щелкните правой кнопкой мыши, чтобы выбрать "Видимость столбца", затем "Установить выражение для скрытых":
IIF(IsNothing(Fields!FieldName.Value),True,False)