Ручная сборка сложных отчетов

отредактировано 23:32 Раздел: FastReport 4.0
Добрый день.
Решаю одну задачу по построению сложного отчета (несколько уровней группировки). Из-за сложных критериев отображения данных, которые попадают в отчет, отчет строю через событие onManualBild.
Споткнулся на разбиении на страницы с удержанием в рамках одной страницы родительской группы и ее подгрупп. При этом заранее просчитать высоту этой группы не представляется возможным (вернее крайне сложно), т.к. высота строк может меняться в зависимости от содержимого. Идея начать вывод Band'ов на странице, отслеживание оставшегося места и обрубание страницы перед уже выведенной родительской группой (запоминается CurY) не сработала, т.к. новая страница NewPage начинается с места окончания последнего выведенного Band'а, а не на текущей позиции CurY.
Есть ли штатная возможность, не найденная мной в документации по разделению страницы в нужном мне месте после вывода Band'ов или нужно смотреть в сторону построения всех нужных Band'ов в памяти, оценка их суммарной высоты и только после этого вывод на страницу?
Если есть рабочий пример последнего варианта, то рад был бы его увидеть.

Комментарии

  • Stalker4Stalker4 123
    отредактировано 23:32
    golitsin написал: »
    Добрый день.
    Решаю одну задачу по построению сложного отчета (несколько уровней группировки). Из-за сложных критериев отображения данных, которые попадают в отчет, отчет строю через событие onManualBild.
    Споткнулся на разбиении на страницы с удержанием в рамках одной страницы родительской группы и ее подгрупп. При этом заранее просчитать высоту этой группы не представляется возможным (вернее крайне сложно), т.к. высота строк может меняться в зависимости от содержимого.
    Попробуйте стоить в отчет в два прохода. На первом проходе подсчитываете высоту данных, на втором проходе разбиваете отчет на страницы в зависимости от подсчитанной на первом проходе высоты данных.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.