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

Решение проблемы с вылезающим подотчетом в FastReport и нерастягивающейся рамкой TfrxShapeView

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

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

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

У вас есть отчет, в котором многострочный подотчет размещен на полосе TfrxMasterData. При проектировании отчета все выглядит нормально, но когда данных становится больше, чем четыре строки, рамка TfrxShapeView не растягивается по высоте, и между полосами появляется зазор. Подотчет правильно растягивается для отображения дополнительных строк, но форма на полосе TfrxMasterData не уведомляется об этом, несмотря на то, что выравнивание установлено на baClient.

Решение проблемы

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

  1. SubReport.PrintOnParent: Установите это свойство в TRUE для подотчета. Это заставит подотчет растягиваться по высоте, чтобы соответствовать высоте родительской полосы.
  2. MasterData.Stretched: Установите это свойство в TRUE для полосы TfrxMasterData. Это заставит родительскую полосу растягиваться по высоте, чтобы соответствовать высоте подотчета.

После настройки этих свойств ваша рамка TfrxShapeView должна правильно растягиваться по высоте, чтобы охватить все данные в подотчете.

Пример кода

Вот пример кода, показывающий, как установить эти свойства в Object Pascal (Delphi):

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Установите PrintOnParent для подотчета в TRUE
  SubReport1.PrintOnParent := True;

  // Установите Stretched для полосы TfrxMasterData в TRUE
  MasterData1.Stretched := True;
end;

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

Заключение

Решив проблему с вылезающим подотчетом и нерастягивающейся рамкой TfrxShapeView, вы можете создавать более профессиональные и чистые отчеты в FastReport. Убедитесь, что вы установили свойства SubReport.PrintOnParent и MasterData.Stretched в TRUE, чтобы гарантировать правильное отображение рамки вокруг всего содержимого подотчета.

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

Статья о решении проблемы с вылезающим подотчетом в FastReport и нерастягивающейся рамкой TfrxShapeView в Object Pascal (Delphi).


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

Получайте свежие новости и обновления по 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 01:02:23/0.0032579898834229/0