Кто-нибудь знает, как в LazReport слить вместе несколько отдельно формируемых отчетов. Есть компонент, у него есть свойство Reports, но как это
заставить работать? Методом "научного тыка" не получается.
Модератор: Модераторы
procedure DoAddFrom(Report: TfrReport);
var
S:TMemoryStream;
begin
if (Report <> nil) and (Report.EMFPages.Count > 0) then
begin
S:=TMemoryStream.Create;
try
Report.EMFPages.SaveToStream(S);
S.Position:=0;
MainDM.frMainComposite.EMFPages.AddPagesFromStream(S);
finally
S.Free;
end;
end;
end;
MainDM.frMainComposite.Reports.Clear;
//Добавим первый отчёт
MainDM.frMainReport.LoadFromFile(RepFileName);
MainDM.frMainReport.PrepareReport;
DoAddFrom(MainDM.frMainReport);
//Добавим второй отчёт
MainDM.frMainReport.LoadFromFile(RepFileName);
MainDM.frMainReport.PrepareReport;
DoAddFrom(MainDM.frMainReport);
//отобразим композитный
MainDM.frMainComposite.ShowPreparedReport
var
AllReport: TfrCompositeReport;
SampleReport1, SampleReport2: TForm;
....
SampleReport1 := TFirstReport.Create(self);
AllReport.Reports.Add(SampleReport1.frReport);
SampleReport2 := TSecondReport.Create(self);
AllReport.Reports.Add(SampleReport2.frReport);
AllReport.ShowReport;
AllReport.Clear;
SampleReport1.free;
SampleReport2.free;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6