У меня есть таблица с большим количеством строк, которые охватывают несколько страниц. Я установил строку заголовка Tablix Repeat на каждой странице, но это не работает. Я где-то читал, что это известная ошибка в построителе отчетов 3.0. Это правда? Если нет, есть ли что-то еще, что нужно сделать?Tablix: Повторять строки заголовков на каждой странице не работает - построитель отчетов 3.0
ответ
Это зависит от используемой структуры таблиц. В таблице, например, у вас нет групп столбцов, поэтому службы Reporting Services не распознают, какие текстовые поля являются заголовками столбцов, а свойство RepeatColumnHeaders - True не работает.
Вместо этого, вам необходимо:
- Open Advanced Mode на панели группировкам. (Нажмите на стрелку справа от группы столбцов и выберите Advanced Mode.)
- В области групп строк (не столбцы групп), нажмите на статическую группу, в которой подчеркивается соответствующим текстовое поле в tablix. Щелкните каждую группу Static, пока она не выделит самый левый заголовок столбца. Обычно это первая группа Static.
- В окне «Свойства» установите для свойства
RepeatOnNewPage
значение True. - Убедитесь, что свойство
KeepWithGroup
устанавливается вAfter
.
Свойство KeepWithGroup
указывает, к какой группе относится статический член. Если установлено значение After
, то статический член придерживается группы после нее или ниже нее, выступая в качестве заголовка группы. Если установлено значение Before
, статический член придерживается группы до или выше, действуя как нижний колонтитул группы. Если установлено значение None
, службы Reporting Services решают, куда ставить статический член.
Теперь, когда вы просматриваете отчет, заголовки столбцов повторяются на каждой странице табуляции.
This видеоролик показывает, как установить его в точности как описанный ответ.
Другой способ сделать это, если вы до сих пор этот вопрос, делая следующее:
- Очистить весь текст заголовка таблицы оставить его пустым.
- В разделе «Заголовок» в отчетах добавить текстовые поля внутри прямоугольника, , каждое текстовое поле будет представлять заголовок столбца для таблицы.
- Поскольку этот прямоугольник находится в разделе Заголовки отчетов, он отображает на всех страницах отчета.
Thanks, Sufian.
Что сработало для меня, так это создать новый отчет с нуля.
Это сделано, и новый отчет работает, я сравню файлы .rdl в Visual Studio. Они представлены в формате XML, и я надеюсь на быстрый WindDiff или что-то покажет, в чем проблема.
Первоначальный взгляд показывает, что существует 700 строк кода или немного больше различий между обоими файлами, причем более крупный из 2 является неисправным файлом. Беглый взгляд на теги TablixHeader не показал ничего очевидного.
Но в моем случае это был поврежденный файл .rdl. Это было первоначально скопировано из рабочего отчета, поэтому в процессе удаления того, что не было повторно использовано, это могло бы испортить его. Тем не менее, в других отчетах, где этот процесс был выполнен, заголовки могли бы повториться, когда правильные настройки были сделаны в свойствах.
Надеюсь, это поможет. Если у вас сложный отчет, это не быстрое решение, но оно работает.
Возможно, сравнение известных хороших файлов XML с неисправными на вашем конце станет хорошей отправкой на форум. Я буду пытаться это на моем конце.
У меня 2.0 и нашел выше, чтобы помочь; однако выбор статики по какой-то причине не выделял ячейку. Я последовал за следующие действия:
- Под группами столбцов выберите продвинутый и статика будет отображаться
- Нажмите на статике, которая показывает в группах строк
- Set KeepWithGroup для After и RepeatOnNewPage к истинным
Теперь заголовки столбцов должны повторяться на каждой странице.
Это сработало отлично ... намного проще, чем выше ответ, который не сработал для меня. – Neal1581
Как я исправил эту проблему, я вручную изменил код позади (из меню 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>
К моему удивлению, это разрешило проблему. У меня был tablix w/6 rows (3 строки заголовка плюс группа с заголовком, деталью и строкой нижнего колонтитула). Глядя на источник показал 6
Спасибо. Я использую SSRS уже более 10 лет и просто столкнулся с этой проблемой - действительно, в группе была добавлена дополнительная оболочка TablixMember (без сомнения, из экспериментов с добавлением и удалением групп). Очистка списка участников разрешила таинственный неповторяющийся заголовок. –
Открыть Advanced Mode
в группе Группирование. (Нажмите стрелку справа от групп столбцов и выберите «Расширенный режим».)
В области Группы строк (не группы столбцов) щелкните группу «Статические», в которой выделено соответствующее текстовое поле в tablix.
Щелкните каждую группу Static, пока она не выделит самый левый заголовок столбца. Обычно это первая группа Static.
В сетке свойств:
- набор
KeepWithGroup
дляAfter
- набор
RepeatOnNewPage
кTrue
для повторяющихся заголовков - набор
FixedData
вTrue
для хранения заголовков видимой
Awesome, FixedData to true важно, в противном случае ошибка ..... –
Stacia, когда я выбираю KeepWithGroup и попытайтесь сохранить, я получаю: «В теге« DetailTablix »есть недопустимый Та blixMember. Все элементы TablixMember в библиотеке TablixColumnHierarchy должны иметь свойство RepeatOnNewPage равным false. «Любые идеи? – moodboom
Я понял свою проблему. Stacia ваш ответ абсолютно прав, это просто сложно, но все в порядке. Обратите внимание, что Stacia говорит об изменении область ROW Groups при настройке свойства RepeatOnNewPage. Все остальное в этом решении касается столбцов, но вам нужно выбрать группы Row (слева), а не группы столбцов (справа), даже если вы начинаете с нажатия кнопки выпадающее меню в столбцах. Спасибо Stacia, блестящий. – moodboom
+1 - Я только что закончил читать около десятка пошаговых инструкций по этому поводу в Интернете, и это лучшее, что можно сказать прямо в этом вопросе, - вы также объясняете, ПОЧЕМУ имеют значение варианты, которые фантастическое. Спасибо! – JNK