* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Классы построителя отчетов (Report Builder)
19 февраля 2009
QuickReport 2 имеет базовый класс TQRBuilder. Это просто абстрактный класс, который может использоваться для основной работы по созданию отчета. Это включает в себя компонент TQuickRep с секцией title и секциями заголовок и подвал страницы. Следующий код демонстрирует создание основы для пустого отчета. Не забудьте включить модуль QREXTRA в модуль, в котором это будет использоваться: procedure MyForm.CreateReport;
begin with TQRBuilder.Create(Self) do try Title := ‘Blank Report’; Active := True; try FetchReport.Preview; finally Free; end; finally Free; end; end;
TQRListBuilder является субклассом TQRBuilder. Он добавляет возможность создания отчетов для баз данных: procedure MyForm.CreateDataReport; var aReport : TQuickRep; begin with TQRListBuilder.Create(Self) do try DataSet := CustomerTable; Title := ‘Customer Listing’; Active := True; try aReport := FetchReport; aReport.Preview; finally aReport.Free; end; finally Free; end; end; Использование функции QRCreateList делает создание более простым, всего одна строка кода. procedure MyForm.CreateDataReport; var aReport : TQuickRep; begin QRCreateList(aReport, Self, CustomerTable, ‘Customer Listing’, nil); aReport.Preview; aReport.Free; end; Параметр nil в действительности список полей (string list), которые мы желаем включить в отчет. Посылка значения nil означает включение всех полей, которые смогут поместиться на странице.
Следующий пример создает отчет только с тремя полями из таблицы Customer: procedure MyForm.CreateDataReport; var aReport : TQuickRep; SomeFields : Tlist; begin SomeFields := TList.Create; SomeField.Add(‘Company’); SomeFields.Add(‘Contact’); SomeFields.Add(‘Phone’); QRCreateList(aReport, Self, CustomerTable, ‘Customer Listing’, SomeFields); aReport.Preview; aReport.Free; end;