* Implement clear for report (bug ID 33286)

git-svn-id: trunk@38399 -
This commit is contained in:
michael 2018-03-03 11:41:55 +00:00
parent cf07d30bfd
commit 18d7b29b2f

View File

@ -1531,16 +1531,17 @@ type
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
Procedure SaveDataToNames;
Procedure RestoreDataFromNames;
procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); override;
procedure ReadElement(AReader: TFPReportStreamer); override;
procedure AddPage(APage: TFPReportCustomPage);
procedure RemovePage(APage: TFPReportCustomPage);
function FindRecursive(const AName: string): TFPReportElement;
procedure RunReport;
Procedure ClearPreparedReport; virtual;
Function Prepared : Boolean;
Procedure Clear;
Procedure SaveDataToNames;
Procedure RestoreDataFromNames;
procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); override;
procedure ReadElement(AReader: TFPReportStreamer); override;
procedure AddPage(APage: TFPReportCustomPage);
procedure RemovePage(APage: TFPReportCustomPage);
function FindRecursive(const AName: string): TFPReportElement;
procedure RunReport;
Procedure ClearPreparedReport; virtual;
Function Prepared : Boolean;
Procedure StartDesigning; virtual;
Procedure EndDesigning; virtual;
procedure RenderReport(const AExporter: TFPReportExporter);
@ -7506,6 +7507,25 @@ begin
inherited Destroy;
end;
procedure TFPCustomReport.Clear;
begin
// Variables
FRTCurPageIdx := -1;
FDateCreated := Now;
FTwoPass := False;
FIsFirstPass := False;
// Collections
FreeAndNil(FExpr); // Special case, recreated on run
FReportData.Clear;
While FPages.Count>0 do
RemovePage(Pages[FPages.Count-1]);
FPages.Clear;
ClearReferenceList;
FImages.Clear;
FVariables.Clear;
end;
procedure TFPCustomReport.SaveDataToNames;
Var