一、使用TfrxReport组件工作1、加载并存储报表默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中。多数情况下,无须再操作,因而你就不必采用特殊方法加载报表。如果你决定在文件中存储报表窗体或者是数据库的Blob字段(他提供了非常大的弹性,你能够在非编译程序中修改),你必须使用“TfrxReport”提供的加载和存储方法。functionLoadFromFile(constFileName:String;ExceptionIfNotFound:Boolean=False):Boolean;从一个给定名字文件中加载报表。如果第二个参数等于“True”并且文件没找到,那么他会触发一个异常。如果文件加载成功,他返回“True”。procedureLoadFromStream(Stream:TStream);从流中加载报表。procedureSaveToFile(constFileName:String);用特殊名称文件存储报表。procedureSaveToStream(Stream:TStream);把报表存在流中。例如:Pascal:('c:\');('c:\');C++:frxReport1->LoadFromFile("c:\\");frxReport1->SaveToFile("c:\\");“”方法调用报表设计器。你必须在你的项目中包含报表设计器(必要条件是:要么使用“TfrxDesigner”组件,要么增加“frxDesgn”单元到uses列表)“DesigReport”方法接受两个默认参数:procedureDesignReport(Modal:Boolean=True;MDIChild:Boolean=False);Modal参数决定设计器是否被模态,MDIChild参数允许把设计器窗体作为一个MDI子窗体。例如:;“TfrxReport”方法中的一个启动报表:procedureShowReport(ClearLastReport:Boolean=True);启动报表并在预览窗体中显示。如果“ClearLastReport”参数等于“False”,报表将会增加先前的一个报表结果,否则清除前一个报表结构。functionPrepareReport(ClearLastReport:Boolean=True):Boolean;启动报表,没有打开预览窗体,参数赋值与“ShowReport”方法同名。如果报表构造成功,他返回“True”。多数情况下,使用第一种方法更为方便一些。在报表被构造的同时,他会立刻显示一个预览窗体。当需要增加另一个报表到前一个报表中的时候,“ClearLastReport”参数显得方便些。(此类技术用于批量报表打印)。例如:;:两者都是调用“”方法(先前描述过了),或者使用“”方法来帮助实现。在第二种情况下,报表构造没有被执行,但显示了一个完成的报表。也就是说,你要么在“PreparedReport”方法帮助下构造他,要么在构造前从文件中加载报表(查看“加载/存储完成的报表”)例如:Pascal:;C++:if(frxReport1->PrepareReport(true))frxReport1->ShowPreparedReport();在这种情况下,报表构造器先被完成了,并显示在预览窗体中。构造一个庞大的报表可能要花费很多时间,那就是为什么使用“ShowReport”非等时同步方法会好于“PrepareReport/ShowPreparedReport”方法。你可以通过“”属的缺省值设定预览参数值。(这句翻译的不够好,请参考原文)原文参考:Inthiscase,reportconstructionisfinishedfirst,,andthatiswhyitisbettertousethe“ShowReportan
程序员手册 来自淘豆网m.daumloan.com转载请标明出处.