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

Проблема отображения всех страниц отчета в FastReport 4.7.31 в Turbo Delphi Pro

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

При работе с FastReport 4.7.31 в Turbo Delphi Pro у некоторых пользователей возникает проблема с отображением всех страниц отчета в режиме предварительного просмотра. В данной статье мы рассмотрим причину этой проблемы и предложим решение.

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

При использовании метода ShowReport отчета frxMyReport в коде показывается только последняя подготовленная страница, а не все страницы, как при использовании метода Print. Это происходит из-за того, что метод ShowReport по умолчанию очищает последний отчет и готовит новый отчет перед отображением.

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

Решением этой проблемы является использование метода ShowPreparedReport вместо ShowReport. Метод ShowPreparedReport отображает уже подготовленный отчет, не очищая последний. Таким образом, все страницы отчета будут отображены в режиме предварительного просмотра.

Пример кода, исправляющий проблему:

procedure TfrmMain.MyReportPrint;
var
  MDate: TDate;
  S, myfile: string;
  firstone: boolean;
begin
  firstone := true;
  MDate := Date1;
  while MDate < IncDay(Date2, 1) do
  begin
    DateTimeToString(S, 'yyyymmdd', MDate);
    myfile := 'm' + S + '.dbf';
    if FileExists(DataPath + '\' + myfile) then
    begin
      tblPS.Close;
      tblPS.TableName := myfile;
      frxMyReport.PrepareReport(firstone);
      firstone := false;
    end;
    MDate := IncDay(MDate, 1);
  end;
  if ShowPreview then
    frxMyReport.ShowPreparedReport
  else
    frxMyReport.Print;
end;

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

Если по какой-то причине невозможно использовать метод ShowPreparedReport, можно передать параметр ClearLastReport методу ShowReport, установив его значение в false. Это предотвратит очистку последнего отчета перед подготовкой нового отчета. Однако, этот способ все равно не гарантирует отображение всех страниц отчета в режиме предварительного просмотра, так как подготовка отчета происходит каждый раз перед отображением.

Заключение

При работе с FastReport 4.7.31 в Turbo Delphi Pro для отображения всех страниц отчета в режиме предварительного просмотра следует использовать метод ShowPreparedReport. Если это не возможно, можно передать параметр ClearLastReport методу ShowReport, установив его значение в false. В любом случае, важно понимать, как работают методы отображения отчета в FastReport, чтобы добиться желаемого результата.

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

Контекстом является обсуждение проблемы отображения всех страниц отчета в FastReport 4.7.31 в Turbo Delphi Pro и предложение решения, которое заключается в использовании метода `ShowPreparedReport` вместо `ShowReport`.


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

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




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


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


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 11:07:09/0.0047421455383301/1