GroupHeader

отредактировано 07:43 Раздел: FastReport 2.xx VCL
Привет ! Подскажите пожалуйста как при печати отчета с группировкой предоставить пользователю следующий выбор : печать каждую группу с нового листа или печатать все "сплошняком" ???
Пробовала выводить перед печатью диалоговую форму, на которой элемент CheckBox определял выбор. Затем в событии OnBeforePrint для GroupHeader пытаюсь обработать состояние CheckBox и изменить значение свойства FormNewPage для GroupHeader, но реакции нет. Пробовала обрабатывать это в событии OnBeforePrint для Page, тоже не получилось. Ещё пыталась передать параметр из программы, аналогичный результат.
Как это можно сделать ? Благодарю за любую помощь.

Комментарии

  • отредактировано 07:43
    По событию OnBeforPrint у GroupHeader-a поставь NewPage да и все. Единственно надо обработать первую страницу отчета.
  • отредактировано 07:43
    Так я и пытаюсь сделать !
    CheckBox на странице Page1 - это диалоговая форма.
    GroupHeader на странице Page2 - это собственно отчет.
    В событии OnBeforePrint у GroupHeader-а :
    If CheckBox.Checked
    then
    GroupHeader.FormNewPage:=True
    else
    GroupHeader.FormNewPage:=False;
    Но это не работает, т.е. смены свойства FormNewPage не происходит.

    А ещё, что значит "Обрабатывать первую страницу" ? Можно поподробнее, пожалуйста. У меня мало опыта работы с FastReport, а проблему хочется решить.
  • отредактировано 07:43
    Свойство FromNewPage у бэнда GroupHeader действительно так просто не работает (или я тоже чего-то не понимаю).
    Пэтому нужно использовать команду NewPage, которая продолжает формирование отчета с новой страницы.
    Просто пишешь в OnBeforPrint у бэнда GroupHeader
    If CheckBox.Checked Then NewPage и все.
    "Обработать первую страницу" значит, что если ты в таком виде запустишь отчет, на первой же странице выполниться команда NewPage и первая страница будет пустая. Поэтому условие нужно сделать типа:
    If (CheckBox.Checked) And ([PAGE#]>1) Then NewPage.
    Хэлп почитай. Это основы.
  • отредактировано 07:43
    To Alexander
    Большое спасибо за подробный ответ.
    Всё получилось как и требовалось !

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

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