delphi FastReport 预览显示多报表(非模态、MDI)
FastReport 预览显示多报表(非模态、MDI)
属性和方法
TfrxReport.PreviewOptions
property PreviewOptions: TfrxPreviewOptions;
一组与报表预览相关的属性。
TfrxPreviewOptions.MDIChild
property MDIChild: Boolean;
定义预览窗口是否为 MDIChild(用于 MDI 界面组织)。默认值为 False。
TfrxPreviewOptions.Modal
property Modal: Boolean;
定义预览窗口是否是模态的。默认值为 True。
TfrxPreviewOptions.Maximized
property Maximized: Boolean;
定义预览窗口是否最大化。默认值为True。
例子
非模态方式显示多报表
procedure TForm1.Button12Click(Sender: TObject);
begin
//加载报表
frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表1.fr3');
frxReport2.LoadFromFile('C:\Users\Administrator\Desktop\测试报表2.fr3');
//设置预览报表为非模态
frxReport1.PreviewOptions.Modal := False;
frxReport2.PreviewOptions.Modal := False;
//设置预览报表不是最大化
frxReport1.PreviewOptions.Maximized := False;
frxReport2.PreviewOptions.Maximized := False;
//预览报表
frxReport1.ShowReport;
frxReport2.ShowReport;
end;
MDI方式显示多报表
procedure TForm1.Button12Click(Sender: TObject);
begin
//加载报表
frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表1.fr3');
frxReport2.LoadFromFile('C:\Users\Administrator\Desktop\测试报表2.fr3');
//设置预览报表为非模态
frxReport1.PreviewOptions.Modal := False;
frxReport2.PreviewOptions.Modal := False;
//设置预览报表为MDIChild
frxReport1.PreviewOptions.MDIChild := True;
frxReport2.PreviewOptions.MDIChild := True;
//设置预览报表不是最大化
frxReport1.PreviewOptions.Maximized := False;
frxReport2.PreviewOptions.Maximized := False;
//设置窗体为MDIForm
Self.FormStyle := fsMDIForm;
//预览报表
frxReport1.ShowReport;
frxReport2.ShowReport;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//关闭时,将未关闭的预览报表关闭
if frxReport1.PreviewForm <> nil then
frxReport1.PreviewForm.Close;
if frxReport2.PreviewForm <> nil then
frxReport2.PreviewForm.Close;
end;