文档介绍:FastReport程序员手册
一、使用TfrxReport 组件工作
1、 加载并存储报表
默认情况下,报表窗体同项目窗体构存储在同一个 DF成件中。多数情况下,无
须再操作,因而你就不必采用特殊方法加载报表。如果你决定在文件中存储报表 窗体或者是数据库的Blob字段(他提供了非常大的弹性,你能够在非编译程序 中修改),你必须使用“ TfrxReport ”提供的加载和存储方法。
function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean;
从一个给定名字文件中加载报表。如果第二个参数等于“ True”并且文件没找
到,那么他会触发一个异常。如果文件加载成功,他返回“ True”。
procedure LoadFromStream(Stream: TStream);
从流中加载报表。
procedure SaveToFile(const FileName: String);
用特殊名称文件存储报表。
procedure SaveToStream(Stream: TStream);
把报表存在流中。
例如:
Pascal:
('c:\');
('c:\');
C++:
frxReport1->LoadFromFile("c:\\");
frxReport1->SaveToFile("c:\\");
设计报表
通过“”方法调用报表设计器。你必须在你的项目中包含报表设计器 (必要条件
是:要么使用“ TfrxDesigner 组件,要么增加 frxDesgn ”单元到uses歹U表)
“DesigReport ”方法接受两个默认参数:
procedure DesignReport(Modal: Boolean = True; MDIChild: Boolean = False);
Modal参数决定设计器是否被模态,MDIChild参数允许把设计器窗体作为一个 MDI子窗体。
例如:
;
运行报表
应用下面两个“ TfrxReport ”方法中的一个启动报表:
procedure ShowReport(ClearLastReport: Boolean = True);
启动报表并在预览窗体中显示。如果“ ClearLastReport ”参数等于“False”, 报表将会增加先前的一个报表结果,否则活除前一个报表结构。
function PrepareReport(ClearLastReport: Boolean = True): Boolean;
启动报表,没有打开预览窗体,参数赋值与“ ShowReport”方法同名。如果报表
构造成功,他返回“ True” o
多数情况下,使用第一种方法更为方便一些。在报表被构造的同时,他会立刻显 示一个预览窗体。
当需要增加另一个报表到前一个报表中的时候,“ ClearLastReport ”参数显得 方便些。(此类技术用于批量报表打印)。
例如:
;
预览报表
使用两种途径显示一个报表是可能的:两者都是调用方法(先前描述过了), 或者使用“”方法来帮助实现。在第二种情况下, 报表构造没有被执行,但显示
了一个完成的报表。也就是说,你要么在“ PreparedReport ”方法帮助下构造他, 要么在构造前从文件中加载报表(查看“加载/存储完成的报表”)
例如:
Pascal:
if then
C++: if(frxReport1->PrepareReport(true))
frxReport1->ShowPreparedReport();
在这种情况下,报表构造器先被完成了,并显示在预览窗体中。构造一个庞大的 报表可能要花费很多时间,那就是为什么使用“ ShowReport”非等时同步方法会 好于
“PrepareReport/ShowPreparedReport ”方法。你可以通过届的缺省值设定 预览参数值。(这句翻译的不够好,请参考原文)
原文参考:In this case, report construction is finished first, and after that it is displayed in the preview window. Construction of a large report can take
a lot of time, and that is why it is better to use the “ShowReport
anisochronous ” method, than the “Prepare