Заголовок данных на каждой странице

отредактировано 07:32 Раздел: FastReport 3.0
Использую ColumnHeader но он появляется и на странице где данных уже нет, а только footer.
т.е. только заголовок и footer - выглядит тупо.
Если использовать просто Header, то он имеется только на первом листе, а нужно на каждой странице с данными.

Версия 3.21

Комментарии

  • gpigpi
    отредактировано 07:32
    в событии MasterDataAfterPrint поставьте
    ColumnHeader.Visible:=not MasterData.DataSet.Eof;
  • отредактировано 07:32
    gpi написал:
    в событии MasterDataAfterPrint поставьте
    ColumnHeader.Visible:=not MasterData.DataSet.Eof;
    Непомогает...
  • отредактировано 07:32
    написал:
    Использую ColumnHeader но он появляется и на странице где данных уже нет, а только footer.
    Нормальная ситуация для FR.
    написал:
    Если использовать просто Header, то он имеется только на первом листе, а нужно на каждой странице с данными.
    Неправда.
    Ставим у заголовка (Heder) свойство PrintOnNewPage = true и заголовок печатается на каждой новой странице до футера (тут главное поставить в нужном месте подвал (Footer)).

    Чтобы избавиться от ситуации, когда данные заканчиваются вместе со страницей и на следущей печатается заголовок и подвал, надо написать в обработчике мастердаты следущее (C++Script):
    void MasterData1OnBeforePrint(TfrxComponent Sender)
    {
      Header1.Visible = MasterData1.DataSet.Eof;
    }
    
    или
    ColumnHeader.Visible := MasterData.DataSet.Eof;
    

    gpi ошибся тем, что поставил not перед Eof'ом.
  • gpigpi
    отредактировано 07:32
    aseroff
    Нет, я ошибся в обработчике. Нужно было повесить на ColumnHeaderOnBeforePrint
  • отредактировано 07:32
    Sorry.

    Вот что надо:
    С++Script
     MasterData1.DataSet.Next;
      Header1.Visible = ! MasterData1.DataSet.Eof;
      MasterData1.DataSet.Prior;
    
    PascalScript
     MasterData1.DataSet.Next;
      Header1.Visible := not MasterData1.DataSet.Eof;
      MasterData1.DataSet.Prior;
    
  • отредактировано 07:32
    Next, Prior...

    Это не замедлит работу?
    Мне надо 1.5млн. отчетиков по 1-3 листа каждый в пакете распечатать ;)
    Хотя конечно не все сразу, на печать пускают порциями. Просто описал общий объем. ;)
    5 принтеров печатают по 45 листов в минуту
    Плохо что нету нормального св-ва, которое к тому же работало бы по умолчанию...
  • отредактировано 07:32
    написал:
    Next, Prior...
    Это не замедлит работу?
    Если комп шустрый, то не особо.

    Лучше, к сожалению, не получится.
    Попробуйте в FastReport 4, возможно, там есть уже встроенные свойства. Разработчеги обесчали улучшенный cross-tab.

    написал:
    Мне надо 1.5млн. отчетиков по 1-3 листа каждый в пакете распечатать
    Постройте все отчеты в одном и распечатайте нужное количество.

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

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