Применимо к TQuickRep, TQRSubDetail Использование Событие OnNeedData используется для создания отчетов из других источников данных, чем источники данных Delphi (datasources), таких как списки строки (string lists), массивы (arrays), текстовые файлы (text files) и другие подобные. Событие OnNeedData возникает, когда QuickReport использует команду DataSet.Next для перехода на следующую запись. Установка параметра MoreData в значение False является признаком прекращения отчета (или sub-Detail группы). Пример Данный код печатает список всех строк из StringList в отчете: var CurrentItem : Integer; SomeStringList : TStringList;
procedure TForm1.QuickRep1BeforePrint(Sender: TQuickRep; var PrintReport: Boolean); begin CurrentItem := 0; PrintReport := SomeStringList.Count > 0; end;
procedure TForm1.QuickRep1NeedData(Sender:TObject; var MoreData:Boolean); begin if CurrentItem < SomeStringList.Count then QRLabel1.Caption := SomeStringList[CurrentItem]; Inc(CurrentItem); MoreData := CurrentItem <= SomeStringList.Count; end; Для дополнительной информации по созданию обработчиков смотрите соответствующие главы в данном документе.