Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Добавление pagination в footer отчета QuickReports

Delphi , Компоненты и Классы , TQuickReport

Delphi Quick Reports - Добавление pagination в footer отчета

Если вы используете QuickReports в своем приложении и хотите добавить "Страница x из x" в footer, вот несколько способов сделать это.

Подход 1: Использование системной переменной

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

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Подготовка отчета для расчета общего количества страниц
  Report1.Prepare;

  // Получение общего количества страниц отчета
  TotalPages := Report1.QRPrinter.PageCount;

  // Печать отчета или просмотр в режиме предварительного просмотра
  Report1.Print; // или Report1.PreviewModal;
end;

В этом примере мы используем метод Prepare отчета для расчета общего количества страниц. Затем мы получаем это значение с помощью свойства PageCount объекта QRPrinter. После этого мы можем либо распечатать отчет, либо просмотреть его в режиме предварительного просмотра.

Подход 2: Добавление QRLabel в footer отчета

Второй способ - добавить QRLabel в footer отчета и реализовать его событие OnPrint. Вот пример кода, который демонстрирует, как это можно сделать:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Подготовка отчета для расчета общего количества страниц
  Form2.QuickRep1.Prepare;

  // Получение общего количества страниц отчета
  Form2.QuickRep1.FTotalPages := Form2.QuickRep1.QRPrinter.PageCount;

  // Освобождение объекта QRPrinter после подготовки отчета
  Form2.QuickRep1.QRPrinter.Free;
  Form2.QuickRep1.QRPrinter := nil;

  // Просмотр отчета в режиме предварительного просмотра или печать
  Form2.QuickRep1.PreviewModal; // или .Print
end;

procedure TForm2.QRLabel1Print(sender: TObject; var Value: string);
begin
  // Формирование текста pagination в footer отчета
  Value := 'Страница ' + IntToStr(QuickRep1.QRPrinter.PageNumber) + ' из ' + IntToStr(FTotalPages);
end;

В этом примере мы сначала подготавливаем отчет для расчета общего количества страниц. Затем мы устанавливаем это значение в свойство FTotalPages отчета. После этого мы освобождаем объект QRPrinter после подготовки отчета, чтобы избежать утечки памяти. Наконец, мы просмотрим отчет в режиме предварительного просмотра или распечатаем его.

В методе OnPrint QRLabel мы формируем текст pagination в footer отчета, используя текущий номер страницы и общее количество страниц отчета.

Оба этих подхода позволят вам добавить pagination в footer отчета QuickReports в вашем приложении на Delphi. Вы можете выбрать тот, который лучше всего подходит для ваших нужд.

Создано по материалам из источника по ссылке.

Описание контекста: Статья объясняет, как добавить pagination в footer отчета с помощью QuickReports в Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TQuickReport ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 14:24:25/0.0037050247192383/0