У меня есть tablix с большим количеством строк, которые охватывают несколько страниц. Я установил строку заголовка Tablix Repeat на каждой странице, но это не работает. Я где-то читал, что это известная ошибка в построителе отчетов 3.0. Это правда? Если нет, есть ли что-то еще, что нужно сделать?
Tablix: повторять строки заголовков на каждой странице, не работающей - Report Builder 3.0
Ответ 1
Это зависит от структуры табликса, которую вы используете. В таблице, например, у вас нет групп столбцов, поэтому службы Reporting Services не распознают, какие текстовые поля являются заголовками столбцов, а свойство RepeatColumnHeaders - True не работает.
Вместо этого вам необходимо:
- Откройте расширенный режим на панели Группирование. (Нажмите стрелку справа от групп столбцов и выберите Расширенный режим.)
- В области Группы строк (не группы столбцов) нажмите на группу Static, которая выделяет соответствующее текстовое поле в таблице. Щелкните каждую группу Static, пока она не выделит самый левый заголовок столбца. Обычно это первая группа Static.
- В окне "Свойства" установите для свойства
RepeatOnNewPage
значение "Истина". - Убедитесь, что для свойства
KeepWithGroup
установлено значениеAfter
.
Свойство KeepWithGroup
указывает, к какой группе должен принадлежать статический член. Если установлено значение After
, то статический член придерживается группы после нее или ниже ее, выступая в качестве заголовка группы. Если установлено значение Before
, то статический член придерживается группы до или над ней, действуя как нижний колонтитул группы. Если установлено значение None
, Reporting Services решает, куда поставить статический член.
Теперь, когда вы просматриваете отчет, заголовки столбцов повторяются на каждой странице табуляции.
Это видео показывает, как установить его в точности как описанный ответ.
Ответ 2
У меня 2.0 и нашел выше, чтобы помочь; однако выбор статики по какой-то причине не выделял ячейку. Я выполнил следующие шаги:
- В группе столбцов выберите расширенный, и статистика будет отображаться
- Нажмите на статику, которая отображается в группах строк.
- Установите KeepWithGroup на After и RepeatOnNewPage на true
Теперь ваши заголовки столбцов должны повторяться на каждой странице.
Ответ 3
Другой способ сделать это, если у вас все еще есть эта проблема, заключается в следующем:
- Очистить весь текст заголовка таблицы, оставить его пустым.
- В разделе "Заголовок" отчетов добавьте текстовые поля внутри прямоугольника, каждое текстовое поле будет представлять заголовок столбца для таблицы.
- Поскольку этот прямоугольник находится в разделе Заголовки отчетов, он отображает на всех страницах отчета.
Спасибо, Суфьян.
Ответ 4
Откройте Advanced Mode
на панели Группирование. (Нажмите стрелку справа от групп столбцов и выберите Расширенный режим.)
В области Группы строк (не группы столбцов) нажмите на группу Static, которая выделяет соответствующее текстовое поле в таблице.
Щелкните каждую группу Static, пока она не выделит самый левый заголовок столбца. Обычно это первая группа Static.
В сетке свойств:
- установите
KeepWithGroup
вAfter
- установить
RepeatOnNewPage
вTrue
для повторения заголовков - установить
FixedData
вTrue
для сохранения видимых заголовков
Ответ 5
Как я исправил эту проблему, я вручную изменил код позади (из меню View/code).
В приведенном ниже разделе должно быть столько же пар <TablixMember> </TablixMember>
, сколько количество строк находится в таблице. В моем случае у меня было больше пар <TablixMember> </TablixMember>
, чем количество строк в tablix. Также, если вы перейдете в "Расширенный режим" (справа от "Группы столбцов" ), количество статических строк за "группами строк" должно быть равно количеству строк в tablix. Способ сделать его равным - это изменить код.
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
<RepeatOnNewPage>true</RepeatOnNewPage>
</TablixMember>
<TablixMember>
<Group Name="Detail" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
Ответ 6
Что сработало для меня, так это создать новый отчет с нуля.
Это сделано, и новый отчет работает, я сравню файлы .rdl в Visual Studio. Они находятся в формате XML, и я надеюсь на быстрый WindDiff или что-то покажет, в чем проблема.
Первоначальный взгляд показывает, что существует 700 строк кода или немного больше различий между обоими файлами, причем более крупный из 2 является неисправным файлом. Беглый взгляд на теги TablixHeader не показал ничего очевидного.
Но в моем случае это был поврежденный файл .rdl. Это было первоначально скопировано из рабочего отчета, поэтому в процессе удаления того, что не было повторно использовано, это могло бы испортить его. Однако в других отчетах, где этот процесс был выполнен, заголовки могут повториться, когда правильные настройки были сделаны в свойствах.
Надеюсь, это поможет. Если у вас есть сложный отчет, это не быстрое решение, но оно работает.
Возможно, сравнение известных хороших XML файлов с дефектными на вашем конце станет хорошей почтой на форуме. Я буду пытаться это на моем конце.