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

«Скрытие заголовка страницы в FreeReport при наличии нескольких страниц»

Delphi , Базы данных , Отчеты

Скрытие заголовка страницы в FreeReport при наличии нескольких страниц

При работе с FreeReport в FastReport может возникнуть потребность скрыть заголовок страницы, если отчет содержит несколько страниц. В этом материале мы рассмотрим, как реализовать это с помощью кода на Object Pascal (Delphi).

Описание проблемы

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

If TOTALPAGES > 1 then Pageheader.visible = false

Однако, этот код не работает, когда размещается в Pascal-разделе отчета. Также не удается сделать это с помощью записи:

[IFF([TOTALPAGES] > 1,'PAGEHEADER.VIBLE=0')]

Пользователь задается вопросом, какой правильный способ реализовать это?

Подтвержденный ответ

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

procedure TfrxPageHeader.PageHeader1BeforePrint(Sender: TfrxComponent);
begin
  TfrxPageHeader(Sender).Visible := (frxReport1.PreviewPages.Count = 1);
end;

В этом коде frxReport1 - это имя вашего компонента отчета FastReport. Метод PreviewPages.Count возвращает количество страниц в отчете. Если отчет содержит более одной страницы, заголовок страницы будет скрыт.

Альтернативный ответ

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

procedure TfrxReport1.Print(Sender: TObject);
begin
  if frxReport1.PreviewPages.Count > 1 then
    TfrxPageHeader(frxReport1.FindObject('PageHeader1')).Visible := False;
end;

В этом коде frxReport1.FindObject('PageHeader1') используется для получения ссылки на заголовок страницы. Метод Visible затем устанавливается в False, чтобы скрыть заголовок страницы, если отчет содержит более одной страницы.

Заключение

В этой статье мы рассмотрели, как скрыть заголовок страницы в FreeReport, если отчет содержит несколько страниц. Мы рассмотрели два подхода к реализации этого: использование события OnBeforePrint полосы прокрутки заголовка страницы и использование события OnPrint компонента отчета. Оба подхода позволят вам достичь желаемого результата в зависимости от ваших конкретных требований.

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

Материал описывает, как скрыть заголовок страницы в отчете FreeReport с помощью FastReport, если отчет содержит несколько страниц.


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

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




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


:: Главная :: Отчеты ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-15 23:53:35/0.0034289360046387/0