一、使用Tfrx Report 组件工作 1、加载并存储报表 默认情况下,报表窗体同项目窗体构存储在同一个DFM 文件中。多数情况下,无须再操作,因而你就不必采用特殊方法加载报表。如果你决定在文件中存储报表窗体或者是数据库的 Blob 字段(他提供了非常大的弹性,你能够在非编译程序中修改),你必须使用“Tfrx Report”提供的加载和存储方法。 fu nction LoadFromFile(const FileName: String; Ex ceptionIfNotFou nd: Boolean = False): Boolean; 从一个给定名字文件中加载报表。如果第二个参数等于“Tru e”并且文件没找到,那么他会触发一个异常。如果文件加载成功,他返回“Tru e”。 procedu re LoadFromStream(Stream: TStream); 从流中加载报表。 procedu re Sav eToFile(const FileName: String); 用特殊名称文件存储报表。 procedu re Sav eToStream(Stream: TStream); 把报表存在流中。 例如: Pascal: frx Report1.LoadFromFile('c:\1.fr3'); frx Report1.Sav eToFile('c:\2.fr3'); C++: frx Report1->LoadFromFile("c:\\1.fr3"); frx Report1->Sav eToFile("c:\\2.fr3"); 2.设计报表 通过“Tfrx Report.DesignReport”方法调用报表设计器。你必须在你的项目中包含报表设计器(必要条件是:要么使用“Tfrx Designer”组件,要么增加“frx Desgn”单元到 u ses 列表) “DesigReport”方法接受两个默认参数: procedu re DesignReport(Modal: Boolean = Tru e; MDIChild: Boolean = False); Modal 参数决定设计器是否被模态,MDIChild 参数允许把设计器窗体作为一个MDI 子窗体。 例如: frx Report1.DesignReport; 3.运行报表 应用下面两个“TfrxReport”方法中的一个启动报表: procedure ShowReport(ClearLastReport: Boolean = True); 启动报表并在预览窗体中显示。如果“ClearLastReport”参数等于“False”,报表将会增加先前的一个报表结果,否则清除前一个报表结构。 function PrepareReport(ClearLastReport: Boolean = True): Boolean; 启动报表,没有打开预览窗体,参数赋值与“ShowReport”方法同名。如果报表构造成功,他返回“True”。 多数情况下,使用第一种方法更为方便一些。在报表被构造的同时,他会立刻显示一个预览窗体。 当需要增加另一个报表到前一个报表中的时候,“ClearLastReport”参数显得方便些。(此类技...