Подтвердить что ты не робот

Службы Reporting Services: Tablix RepeatColumnHeaders не работает над некоторыми отчетами

Таким образом, у меня есть различные отчеты, которые состоят из DataSet, представленного в Tablix... довольно многообразном разнообразии сада. Существует свойство элемента управления Tablix с именем RepeatColumnHeaders, для которого я задал значение True для каждого отчета. Объяснение этого свойства указывает: "Указывает, повторяются ли заголовки столбцов на каждой странице, на которой появляется часть области данных". Звучит довольно просто, но в некоторых отчетах он работает, а на других - нет. Кажется, я не могу найти, что отличает нас от отчетов, которые могут повлиять на это. В одном отчете, в котором повторяются заголовки, есть несколько довольно тайных группировок mojo, но в примере, где он не работает, Tablix имеет только один уровень - без группировки. Я ожидал бы, что многопользовательская проблема будет проблемой, а не плоской.

Может быть, это совсем другая проблема. Я скомбинировал простой визуализатор Tablix SELECT * FROM Foo, принял все значения по умолчанию, в результате чего в RepeatColumnHeaders задано значение False, и вот и заголовки столбцов повторяются для этого отчета... Grrr.

Любое понимание очень ценится.

4b9b3361

Ответ 1

Это немного отвратительно от того, что мне удалось выкопать. На панели группировки выберите расширенный режим, затем выберите самую удаленную статическую строку. Затем вы должны увидеть свойство RepeatOnNewPage.

Обновление: поиск расширенного режима:
Комментарий @HCL ссылается на другой ответ @user359904, в котором есть информация о том, как найти и ввести расширенный режим:

  • Выберите вкладку
  • Ниже отчета находятся "Группы строк" ​​и "Группы столбцов", все пути справа от "Группы столбцов" - это небольшая стрелка вниз.
  • Нажмите стрелку, выберите "Расширенный режим".

Ответ 2

Я нашел решение, которое работает для меня. Ответ Винни привел меня к этому.

К счастью, мне не нужно было воссоздавать мой таблик. У меня было три строки, которые составляли мой заголовок tablix. Я добавил три строки за пределы группы самого высокого уровня. Эти строки не привязаны ни к одной группе. Я изменил строки так, чтобы они точно дублировали строки заголовков, которые у меня были в группе самого высокого уровня. Я установил для свойства KeepWithGroup значение "After" и "RepeatOnNewPage" значение true для каждой из этих строк заголовка. Я протестировал отчет. Заголовок появился в верхней части каждой страницы, но из-за дублирования строк заголовков как внутри группы с самым высоким уровнем, так и над группой самого высокого уровня заголовок повторяется дважды в верхней части первой страницы и при каждом разрыве раздела. Я удалил строки заголовков в верхнем разделе, и дублирование исчезло. Заголовки повторяются правильно при каждом разрыве группы самого высокого уровня и вверху каждой страницы. В группе наивысшего уровня нет строк заголовков.

Чтобы установить KeepWithGroup и RepeatOnNewPage: Выберите tablix. В поле группы под областью проектирования щелкните стрелку вниз справа от текста, который читает "Группы столбцов" и убедитесь, что установлен "Расширенный режим". Нажмите первую статическую строку и установите для свойства KeepWithGroup значение "After" и "RepeatOnNewPage" в значение true. Сделайте это для каждой из строк, которые содержат ваш заголовок.

Ответ 3

Извините за беспокойство за то, что вы отменили ответ в ответ; Надеюсь, вы получите, чтобы сохранить точки реплики.

Сюжет сгущается. В трех тестах я нашел корреляцию 1:1 между использованием мастера для создания отчета и получения желаемого поведения заголовка, а также между не использованием мастера и невозможностью достижения желаемого поведения. Оттуда я diff'd файлы rdl для рабочего и нерабочего примера и нашел этот элемент:

<RepeatOnNewPage>true</RepeatOnNewPage>

В документе по адресу:

Report > Body > ReportItems > Tablix > TablixBody > TablixRowHierarchy 
  > TablixMembers > TablixMember

Я добавил то же самое к неработающему rdl, и заголовки начали повторять.

Я не могу, однако, найти параметр, свойство и т.д. в конструкторе, который переключает это. По-видимому, это не соответствует явно очевидным свойствам, описанным ранее. Это просто артефакт волшебника? К счастью, это довольно простая работа, так как я не мог воссоздать дюжину отчетов с помощью мастера.

Ответ 4

Ваша почта все еще используется;) Спасибо всем. Я основывался на том, что вы предоставили, чтобы придумать решение для восстановления повторяющихся строк заголовков. Мне не нужно было использовать расширенный режим, просто проницательность... У меня было две строки заголовка вне всех групп строк без групп столбцов. Вот что я сделал, чтобы получить две строки заголовка в заголовке tablix:

  • Щелкните правой кнопкой мыши на одной строке заголовка и "Добавить группу (группа столбцов)", "Родительская группа"
  • Группировать по '1' (эта группа позже будет удалена, поэтому не имеет значения, что вы там положили
  • Нажмите "ОК" и добавьте строку заголовка.
  • Объединить все столбцы в новой строке заголовка
  • В панели групп столбцов щелкните правой кнопкой мыши только что созданную группу и выберите "Удалить группу", выберите "Только для группы" Важная
  • Теперь у вас есть строка заголовка, в которую вы можете вставить строку выше или ниже, чтобы добавить другие строки заголовка.
  • Переместите строки заголовков в новые строки заголовков и удалите старые строки заголовков.
  • Последнее... убедитесь, что вы проверяете свойство Tablix на "Повторять заголовки столбцов на каждой странице"

Он работал хорошо и легко повторяется (у меня было много таблиц).

С уважением, Алан

Ответ 5

В отчетах, где заголовок не повторяется, удалили ли строку заголовка по умолчанию в tablix в любой момент? Как только я это сделал, независимо от того, какой параметр я попытался, заголовок в tablix не будет повторяться. Мне пришлось повторно создать tablix, чтобы заставить его работать.

Ответ 7

Сейчас 2014 год, и я запускаю версию 2012 года, и я использовал ваше сообщение для решения моей проблемы - тот, который испытал разработчика SSRS в нашем магазине, не знал, как решить (я просто новичок). Большое спасибо за то, что вы внесли свой вклад в решение - кажется, это вневременная проблема.