Новая страница

SvetkinSvetkin СПб
отредактировано 03:48 Раздел: FastReport 4.0
Собственно вопрос простой как узнать что данные переносятся на новую страницу?????

я использую группу и поставил галку печатать на одной странице. Как узнать что эта группа не поместится и будет перенесена?????

Комментарии

  • SvetkinSvetkin СПб
    отредактировано June 2011
    А нужно знать, что началась новая страница, т.к. нужно провести черту в конце данных каждой страницы

  • xlaalaaxlaalaa Минск
    отредактировано 03:48
    Вы можете программно изменять свойство Frame у ячеек. Свободное место можно получить с помощью метода Engine.FreeSpace.

    А еще рекомендую почитать статью Как устроена Галактика? - Отчет с итогами по странице
  • SvetkinSvetkin СПб
    отредактировано 03:48
    дело в том, что я таким образом и добиваюсь объединения ячеек, меняя Frame. Чтобы самая малая группа (по 5-й колонке) держалась вместе и не нарушалась смысловая нагрузка я эту колонку сгруппировал и поставил галку печатать на одной странице.
    После отрисовки каждого GroupFooter я сохраняю координату.
    Y := Engine.CurY;
    

    В событии подсчета высоты датабенда проверяю помещается он или нет. Если нет, то:
    Engine.CurY := Y;
    Line.Visible := true;
    Engine.ShowBand(GroupFooter);
    Line.Visible := false;
    Engine.NewPage;
    

    Линия рисуется и ее видно пока не произойдет создание новой странице, но
    так как в группе стоит галака "выводить на одной странице" то вся группа переносится на следующую страницу. И как оказалось это реалезовано таким образом, что перерисовывается все что выводилось с момента отрисовки последней группы. Соответсвенно и моя линия тоже рисуется уже на новой странице.

    Подскажите как решить эту проблему???? Можно ли программно выводить элементы на страницу отчета, создавая его кодом????

    что то типа такого:
    var
    Line: TfrxLineView;
    
    begin
    Line := TfrxLineView.Create(Page1);
    
    Engine.CurY := 420;
    Line.SetBound(0,0,30,0);
    
    end;
    

    Куда вставлять такой код, чтобы он отрисовался на странице отчета, по мимо основного тела скрипта??????

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

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