Question
“How can I implement default report settings for new reports created by end-users? And for existing reports?”
Solution
The following example uses the Report.Template OnNew and OnLoadEnd events to implement default report properties.
Download: DesignerInitializeReportProperties.zip
Sample Delphi code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
procedure TForm1.Button1Click(Sender: TObject); begin // initialize report properties InitializeReport(ppReport1); // assign template event-handlers ppReport1.Template.OnNew := ehTemplate_New; ppReport1.Template.OnLoadEnd := ehTemplate_LoadEnd; ppDesigner1.ShowModal; end; procedure TForm1.ehTemplate_LoadEnd(Sender: TObject); begin InitializeReport(ppReport1); end; procedure TForm1.ehTemplate_New(Sender: TObject); begin InitializeReport(ppReport1); end; procedure TForm1.InitializeReport(aReport: TppReport); begin // initialize report properties aReport.SaveAsTemplate := True; aReport.AllowPrintToFile := True; aReport.EmailSettings.Enabled := True; aReport.PreviewFormSettings.WindowState := wsMaximized; end; |