delphi FastReport 预览显示多报表(非模态、MDI)

发布时间 2023-08-15 16:13:30作者: txgh

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;