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

Получение полей базы данных для отчета FastReport в Delphi

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

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

Обычно для получения наборов данных отчета можно использовать свойство DataSets:

var
  rpReport: TfrxReport;
begin
  rpReport.DataSets;

Однако, как получить число и имена полей наборов данных? Один из возможных способов - использовать публичные функции __FieldsCount__ и __GetFieldList__, доступные для всех потомков TfrxDataSet:

var
  fl: TStringList;
begin
  fl := TStringList.Create;
  rpReport.DataSets[0].DataSet.GetFieldList(fl);

Однако, в некоторых случаях свойство rpReport.DataSets[0].DataSet может быть nil. В этом случае нет набора данных, принадлежащего отчету, и нет полей, которые можно было бы получить.

Один из альтернативных способов - проанализировать файл .fr3, который является файлом XML. Можно использовать регулярное выражение, чтобы получить все поля (включая поля, используемые только в выражениях):

mDatasetName + '\.&amp;#34;(?<fieldname>[^&amp;]+)&amp;#34;'

Где mDatasetName - имя набора данных, для которого нужны поля. Все имена наборов данных можно получить из коллекции:

for I := 0 to rpReport.DataSets.Count - 1 do
  mDatasetName := rpReport.Datasets[I].DatasetName;

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

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

Статья описывает способы получения всех полей базы данных, используемых в отчете FastReport в Delphi.


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

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




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


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


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:20:54/0.0052120685577393/1