#reporting-services #ssrs-tablix
Вопрос:
Я пытаюсь решить следующую проблему. У меня в отчете есть два табликса. У каждого есть свой собственный набор данных. Я хочу показывать разные сообщения в нижнем колонтитуле на основе отображаемого табликса. Каждая таблица может занимать разное количество страниц. Есть идеи? Я специально ориентируюсь на экспорт слов. То, что было предложено в ответе Алана, не работает для слова экспорт.
Спасибо
Комментарии:
1. Похоже, экспорт в word (также PDF) работает не так, как ожидалось для нижних колонтитулов (ошибка)
2. Нет, PDF работает нормально. Проблема Word заключается в том, что он не оценивает переменные для каждого экземпляра нижнего колонтитула.
Ответ №1:
Если я правильно понял ваш вопрос, вы можете сделать это с помощью переменной отчета и текстового поля.
Ниже приведен макет, который я использовал. Я раскрасил некоторые области просто для ясности.
Две таблицы содержат примеры «людей» и примеры «адресов», это метки, которые я покажу в нижнем колонтитуле соответствующих страниц.
Сначала вам нужно добавить переменную отчета, поэтому щелкните правой кнопкой мыши пустую область отчета и выберите пункт «Свойства отчета», нажмите «переменные» вкладку и добавить заново новую переменную LastTablix
, установите это значение на что угодно, на твой первый нижний колонтитул, чтобы быть, в моем случае «народ». Убедитесь, что вы СНЯЛИ флажок Только для чтения
Теперь добавьте нижний колонтитул в свой отчет (желтый в моем примере) и добавьте текстовое поле в нижний колонтитул (зеленый в моем примере).
Установите для выражения текстового поля значение
=Variables!LastTablix.Value
Убедитесь, что имя написано правильно, оно чувствительно к регистру.
Если вы запустите отчет сейчас, вы увидите «Люди» в каждом нижнем колонтитуле, теперь нам просто нужен способ изменить его.
Затем добавьте новое текстовое поле (например, красное). Установите выражение этого текстового поля равным
=Variables!LastTablix.SetValue("Addresses")
Затем на втором табликсе установите для взлома/прерывания страницы значение Start
Если вы запустите отчет сейчас, вы увидите, как нижний колонтитул изменится на текст в приведенном выше выражении.
Теперь вам просто нужно сделать красное текстовое поле как можно меньше, установить цвет фона и шрифта на ничего/белый, и все должно быть так. Примечание: вы не можете установить для текстового поля значение Hidden=True, так как текстовое поле не будет отображаться и выражение для обновления переменной не будет выполняться.
Комментарии:
1. Да, отличная идея. Я пробовал это, к сожалению, это не работает, когда отчет экспортируется в Word. Word не оценивает переменную отчета для каждого нижнего колонтитула.
2. Ах, вы не упомянули об экспорте в своем вопросе. Вероятно, вам следует расширить свой вопрос и точно объяснить, что вы хотите сделать.