Set CurReport in CompositeReport
Original Reporter info from Mantis: rjack
-
Reporter name: Jack
Original Reporter info from Mantis: rjack
- Reporter name: Jack
Description:
Sorry for my english.
How to determine currently processig Report in event CompositeReport.OnBeginDoc?
I add one line in procedure TfrCompositeReport.DoBuildReport to set variable CurReport.
Bellow is changed procedure
Lazarus 0.9.28.2 r22279 FPC 2.2.4 i386-win32-win32/win64
Additional information:
procedure TfrCompositeReport.DoBuildReport;
var
i: Integer;
Doc: TfrReport;
ParamOk: Boolean;
begin
CanRebuild := True;
PageNo := 0;
for i := 0 to Reports.Count - 1 do
begin
Doc := TfrReport(Reports[i]);
CompositeMode := False;
if i <> Reports.Count - 1 then
if (TfrReport(Reports[i + 1]).Pages.Count > 0) and
TfrReport(Reports[i + 1]).Pages[0].PrintToPrevPage then
CompositeMode := True;
CurReport:= Doc; // ADD THIS LINE
if Assigned(Doc.FOnBeginDoc) and FirstTime then
Doc.FOnBeginDoc;
ParamOk := True;
if (frDataManager <> nil) and FirstTime then
begin
Doc.FillQueryParams;
ParamOk := frDataManager.ShowParamsDialog;
end;
if ParamOk then
Doc.DoBuildReport;
if (frDataManager <> nil) and FinalPass then
frDataManager.AfterParamsDialog;
if Assigned(Doc.FOnEndDoc) and FinalPass then
Doc.FOnEndDoc;
Append := CompositeMode;
CompositeMode := False;
if Terminated then break;
end;
end;
Mantis conversion info:
- Mantis ID: 18647
- Fixed in version: 0.9.31 (SVN)
- Fixed in revision: 32891 (#d06b1ef1)
- Target version: 0.99
- LazTarget: 0.99.0