delphi FastReport 常用功能

发布时间 2023-04-05 15:43:04作者: txgh

FastReport 常用功能

属性和方法

TfrxReport.LoadFromFile

function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean;

从给定名称的文件中加载报表。如果文件加载成功,返回True

参数

FileName 文件的名称。

ExceptionIfNotFound 如果为True,如果文件不存在,函数会产生一个异常。

TfrxReport.SaveToFile

procedure SaveToFile(const FileName: String);

将报表保存到给定名称的文件中。

参数

FileName 文件的名称。

报表文件的扩展名默认为FR3

TfrxReport.ShowReport

procedure ShowReport(ClearLastReport: Boolean = True);

启动报表并在预览窗口中显示结果。

参数

ClearLastReport 如果为False,则将向先前构建的报表添加一个报表,否则清除先前构建的报表(默认)。

TfrxReport.DesignReport

procedure DesignReport(Modal: Boolean = True; MDIChild: Boolean = False);

调用报表设计器。

参数

Modal 设计器是否显示为模态窗口。

MDIChild 允许将设计器窗口设置为MDI子窗口。

设计器组件必须包含在项目中(要执行此操作,可以将 TfrxDesigner 组件放置在 form 上,或将 frxDesign 单元包含在 Uses 列表中)。

TfrxReport.Print

function Print: Boolean;

使用 PrintOptions 属性中的打印机设置打印报表。

TfrxReport.PrepareReport

function PrepareReport(ClearLastReport: Boolean = True): Boolean;

启动一个没有预览窗口的报表。如果报表构建成功,返回True

参数

ClearLastReport If 如果为False,则将向先前构建的报表添加一个报表,否则清除先前构建的报表(默认)。

当报表组件构建报表并接收到另一个 PrepareReportExport 命令时,它会将其放入延迟命令列表中,并在当前操作完成后才运行命令。在单线程应用程序中用于与 ProcessMessages 操作同步。

例子

保存、加载报表文件

在窗体上放置TfrxReport组件frxReport1,鼠标双击组件frxReport1设计报表

procedure TForm1.Button1Click(Sender: TObject);
begin
  //保存报表文件
  frxReport1.SaveToFile('C:\Users\Administrator\Desktop\测试报表.fr3');
  //加载报表文件
  frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fr3');
end;

预览

在窗体上放置TfrxReport组件frxReport1

procedure TForm1.Button2Click(Sender: TObject);
begin
  frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fr3');
  frxReport1.ShowReport;
end;

设计

在窗体上放置TfrxReport组件frxReport1

在窗体上放置TfrxDesigner 组件或在Uses中引用frxDesgn 单元

procedure TForm1.Button3Click(Sender: TObject);
begin
  frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fr3');
  frxReport1.DesignReport;
end;

打印

在窗体上放置TfrxReport组件frxReport1

procedure TForm1.Button4Click(Sender: TObject);
begin
  frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fr3');
  frxReport1.PrepareReport;
  frxReport1.Print;
end;