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

Как сделать мастер-полосу видимой на всех страницах в Delphi XE8 с FastReport 5

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

В данной статье мы рассмотрим вопрос о том, как сделать мастер-полосу видимой на всех страницах отчета в Delphi XE8 с помощью FastReport 5. Эта проблема часто встречается при работе с отчетами, содержащими мастер-полосу и детальную полосу, когда мастер-полоса отображается только на первой странице отчета, а не на всех страницах.

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

Альтернативный ответ заключается в том, чтобы использовать свойство ReprintOnNewPage для мастер-полосы, чтобы заставить ее отображаться на всех страницах отчета. Однако, этот метод может привести к тому, что мастер-полоса будет отображаться несколько раз на одной странице, если на странице есть несколько записей из детальной полосы.

Пример кода на Object Pascal (Delphi) для переноса элементов управления из мастер-полосы в шапку группы:

procedure TForm1.Button1Click(Sender: TObject);
var
  GroupHeader: TFRGroupHeader;
begin
  // Создаем группу для мастер-полосы
  GroupHeader := FRXReport1.GroupHeader;
  GroupHeader.Name := 'GroupHeader1';
  GroupHeader.Caption := '';

  // Переносим элементы управления из мастер-полосы в шапку группы
  for var i := 0 to FRXMasterBand1.Components.Count - 1 do
  begin
    var Component: TComponent;
    Component := FRXMasterBand1.Components[i];
    GroupHeader.Components.Add(Component);
  end;

  // Устанавливаем свойство ShowMasterDetail для группы в True
  GroupHeader.ShowMasterDetail := True;

  // Устанавливаем свойство ReprintOnNewPage для группы в True
  GroupHeader.ReprintOnNewPage := True;

  // Перерисовываем отчет
  FRXReport1.Refresh;
end;

В этом примере мы создаем группу для мастер-полосы, переносим элементы управления из мастер-полосы в шапку группы, устанавливаем свойство ShowMasterDetail для группы в True, устанавливаем свойство ReprintOnNewPage для группы в True и перерисовываем отчет.

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

В заключение, можно сказать, что при работе с отчетами в Delphi XE8 с помощью FastReport 5, можно использовать оба описанных метода для того, чтобы сделать мастер-полосу видимой на всех страницах отчета. Выбор метода зависит от конкретных требований к отчету и предпочтений разработчика.

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

Статья рассказывает о проблеме отображения мастер-полосы на всех страницах отчета в Delphi XE8 с помощью FastReport 5 и предлагает два решения: перенос элементов управления из мастер-полосы в шапку группы или использование свойства ReprintOnNewPage для ма


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

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




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


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


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 09:13:23/0.003493070602417/0