Заголовок страницы в двух вложенных отчетах разной длины рядом (ActiveReports)

У меня есть отчет, содержащий два основных подотчета, каждый из которых занимает вертикальную половину страницы, поэтому они идут рядом. У каждого есть свой собственный заголовок страницы, который я эмулирую, используя заголовок группы и устанавливая для свойства RepeatStyle значение OnPageIncludeNoDetail. Однако оба могут иметь разную длину, и я хочу, чтобы в крайних правых подотчетах отображался заголовок страницы, даже если в отчете больше нет данных для отображения. Другими словами, если правый вложенный отчет занимает меньше страниц, чем левый отчет, мне нужно, чтобы он продолжал печатать данные заголовка на каждой странице, пока не закончится крайний левый отчет. Сейчас это не удается, потому что после завершения подотчета справа предполагается, что заголовок больше не нужно печатать.

Я попытался добавить разрыв страницы в нижней части подотчета справа, но, поскольку я не знаю, сколько страниц в любом из подотчетов, я не знаю, следует ли мне включить его или нет, пока не стало слишком поздно ( или, по крайней мере, я не нашел способ сделать это). Кстати, я использую AR3, но обновление до AR7 должно произойти в какой-то момент в будущем...


person Alejandro B.    schedule 24.06.2013    source источник


Ответы (3)


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

Примечание. Это не обязательно должен быть тот же родительский отчет, который вы используете сейчас, но вы можете использовать другой промежуточный отчет между текущим родительским отчетом и двумя вложенными отчетами для работы с заголовками страниц.

person Scott Willeke    schedule 25.06.2013
comment
В настоящее время у меня есть родительский отчет, который содержит оба подотчета (назовем их SRLeft и SRRight) рядом (один рядом с другим, а не один поверх другого). Вы предлагаете добавить родительский отчет, который находится рядом с SRLeft и содержит SRRight? Если это так, я думаю, что это бесполезно, поскольку я до сих пор не знаю, сколько страниц будет в любом из подотчетов. Теперь, если вы говорите, что у вас есть родительский отчет, который содержит оба подотчета внутри, это не сработает, потому что заголовок, который мне нужно повторить, существует только в правом отчете. - person Alejandro B.; 25.06.2013
comment
Нет, я говорю: добавьте родительский отчет, содержащий как SRLeft, так и SRRight, затем удалите заголовки страниц из каждого из SRLeft/SRRight и поместите эти заголовки в новый родительский отчет. Поскольку вложенный отчет заканчивается, когда в нем заканчиваются данные, не будет никакого способа заставить его заголовки страниц/заголовки групп продолжать рендеринг в соответствии с другим внешним/смежным вложенным отчетом. - person Scott Willeke; 26.06.2013
comment
@AlejoBrz Как дела? - person Scott Willeke; 22.08.2013

Я бы посоветовал вам использовать верхний/нижний колонтитул группы в подотчетах вместо заголовка страницы/нижнего колонтитула и установить для свойства Repeatstyle заголовка группы значение OnPage. Верхний/нижний колонтитул страницы в подотчетах не поддерживаются, поскольку вложенные отчеты не осведомлены о страницах.

Верхний/нижний колонтитул страницы основного отчета с визуализацией в порядке, как упоминал Скотт.

person Rajnish Sinha    schedule 25.06.2013
comment
Это именно то, что я делаю, я использую заголовки групп для эмуляции заголовка страницы. - person Alejandro B.; 25.06.2013

Я нашел способ сделать это, хотя он не безупречен. Но проблема может быть только на AR3 и, надеюсь, исправлена ​​на AR7. Что я сделал, так это переместил заголовок правого подотчета в отдельный заголовок основного отчета. Итак, теперь у основного отчета есть заголовок страницы, затем новый заголовок группы (назовем его ghPage) и, наконец, заголовок группы, который изначально содержал оба подотчета. Затем я установил для свойства ghPage UnderlayNext значение true, позаботившись о том, чтобы оставить необходимое пустое пространство, чтобы позволить ghPage вписаться. Это все, и это, кажется, работает, но... когда левый подотчет занимает меньше, чем верхний колонтитул правой страницы , этот последний раздел обрезается до высоты левого края.

person Alejandro B.    schedule 19.08.2013
comment
Я исправил это, добавив раздел нижнего колонтитула группы нулевого размера и установив для свойства PrintAtBottom значение true. - person Alejandro B.; 04.10.2013