现在的位置: 首页 > 综合 > 正文

fast Report 使用(1)

2012年09月13日 ⁄ 综合 ⁄ 共 6368字 ⁄ 字号 评论关闭

FastReport components review

FastReport 包含许多元件供报表建立、修改、导出不同的格式及強化报表功能, 让我们探究每一个FastReport 元件栏上的元件。

TfrxReport

此为最主要的报表元件,一个TfrxReport 元件组成一份报表。在设计时期,双击此元件可打开报表设计器(Report Designer)

此元件拥有所有载入、存盘、设计及来看报表必须的属性及方法。让我们检查TfrxReport 提供的方法:

procedure Clear;清除报表

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

从给予的文件载入报表。假如第二个参数等于 “True”且文件不存在,将产生例外状况,假如文件载入成功,返回值为”True ”

procedure LoadFromStream(Stream: TStream);从数据流(stream)载入报表。

procedure SaveToFile(const FileName: String);保存报表至指定的文件。

procedure SaveToStream(Stream: TStream);保存报表至数据流(stream)

procedure DesignReport;进入报表设计环境。报表设计环境将嵌入在你的工程文件(要执行此功能,只要在uses 子句加入frxDesign 单元或在工程文件中加入“TfrxDesigner” 元件)

procedure ShowReport(ClearLastReport: Boolean = True);

开始制作报表并输出结果显示在预览窗口。例如“ClearLastReport” 参数等于“False”

报表将会加入至前一个报表的后面,否则前一个建立的报表会被清除(预置值)

function PrepareReport(ClearLastReport: Boolean = True): Boolean;开始制作报表,但沒有显示预览窗口。

参数指定方式与“ShowReport” 方法(method)相同。假如报表创建成功,此函数返回“True”

procedure ShowPreparedReport;显示先前使用“PrepareReport” 所建立的报表。

procedure Print;打印报表。procedure Export(Filter: TfrxCustomExportFilter);使用指定的导出过滤器(export filter)导出报表內容。因为下列的方法只提供一种服务,

在大部分的情況之下,你并不须要使用它们。在增強FastReport 的报表功能方面,他们可能是很有用的。例如,当撰写自定义的报表元件时。

function Calc(const Expr: String): Variant;计算“Expr” 运算式并返回结果。

function GetAlias(DataSet: TfrxDataSet): String;返回指定数据集(data set)的别名。

function GetDataset(const Alias: String): TfrxDataset;返回指定别名(Alias)的数据集。

procedure DoNotifyEvent(Obj: TObject; const EventName: String);执行连接至”Obj” 物件的“EventName”事件处理程序。

procedure DoParamEvent(const EventName: String; var Params: Variant);以任意的参数类型执行 “EventName”的事件处理程序。

procedure GetDatasetAndField(const ComplexName: String; var Dataset:TfrxDataset; var Field: String);解析“ComplexName” 复合名称(DataSet.”Field”表示),并返回参照的数据集及字段名称。

procedure GetDataSetList(List: TStrings; OnlyDB: Boolean = False);

List 参数返回报表可用的数据集列表,假如第二个参数为True ,仅返回连接到数据库的数据集。

procedure AddFunction(const FuncName: String; const Category: String= ''; const Description: String = '');加入使用者自定函数至报表的函数列表。详细资料参考The functions’ listextension一章。

TfrxReport 元件拥有下列属性:

property EngineOptions: TfrxEngineOptions;FastReport 引擎相关的属性集合。

property IniFile: String;储存fastReport 环境变量设定的文档或注册码的名称。

property Preview: TfrxCustomPreview;连接到“TfrxPreview” 元件,完成的报表将显示在此元件上。假如此属性空白,

报表将显示于标准的预览窗口。参见“Custom preview windows creating”一章。

property PreviewOptions: TfrxPreviewOptions;与报表预览相关的属性。

property PrintOptions: TfrxPrintOptions;与报表打印相关的属性。

property ReportOptions: TfrxReportOptions;定义报表相关的属性。

property ScriptLanguage: String;报表使用的脚本语言(Script la nguage)

property ScriptText: TStrings;脚本语言的内容。

property AllObjects: TList readonly;报表内所有的物件列表(包括页定义元件)。

property DataSets: TfrxReportDataSets readonly;报表可用的数据集列表。

property Designer: TfrxCustomDesigner readonly;连结到报表设计元件北ū 砩杓苹肪潮黄舳。

property Engine: TfrxCustomEngine readonly;连结报表引擎。对于要使用程序码处理报表是非常有用的,它可以自定义报表处理引擎。

property Errors: TStrings readonly;错误清单,发生在一个或其它的进程。

property FileName: String;定义报表的文件名称;文件名会显示在设计环境的窗口标题中。

property PreviewPages: TfrxCustomPreviewPages readonly;定义一个连结到已完成的报表页面。它可被使用在所有地方,例如打印、存盘及导出等。

property Pages[Index: Integer]: TfrxPage readonly;报表页面列表,其中对话框类型也包括在列表中。

property PagesCount: Integer readonly;报表的页数。

property Script: TfsScript readonly;连结报表的“TfsScript” 元件,经由该连接,你可以为你的报表脚本语言加入变量、类型、函数以供以后调用。更多资料参见“FastScript developer’s manual”

property Style: TfrxStyle;报表式样。详细资料参见“operating with styles”相关章节。

property Variables: TfrxVariables readonly;报表变量列表。参见“operating with variables”

FastReport 引擎的相关属性集合:

TfrxEngineOptions = class(TPersistent)

published

property ConvertNulls: Boolean default True;转换数据库字段的“Null” 值至“0”, “False” 或空字串(依字段型态定)

property DoublePass: Boolean default False;使报表进行二次处理,第一次进行资料搜集(例如报表总页数),第二次才实际进行报表处理。

property MaxMemSize: Integer default 10;配置报表页面缓存(Cache)的最大内存使用量( Mbytes),当“UseFileCashe” 属性等于“True” 时特别有用。假如在建立期间耗用太多内存,已建立的报表缓存页面将会被写入缓存文件,此属性并不非常的精确,它只大約的決定内存的限制。

property PrintIfEmpty: Boolean default True;定义是否要打印空白报表(没有打印资料的报表)。

property TempDir: String;指定保存临时文件的目录。

property UseFileCache: Boolean default False;定义产生的预览报表是否缓存(Cache)到文件(“MaxMemSize” 属性)

end;

报表预览的相关属性集合

TfrxPreviewOptions = class(TPersistent)

published

property AllowEdit: Boolean default True;允许或不允许编辑预览窗口中的报表。

property Buttons: TfrxPreviewButtons;预览窗口中的可用按钮集合。

TfrxPreviewButtons = set of TfrxPreviewButton; TfrxPreviewButton

= (pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline,

pbPageSetup, pbTools, pbEdit, pbNavigator);

此属性可用的值如下:

pbPrint - 打印     pbLoad - 载入文件  pbSave - 存报表到文件     pbExport - 导出

pbZoom - 显示比例  pbFind - 搜寻      pbOutline - 选定报表边框  pbPageSetup - 页面设定

pbTools - 工具     pbEdit - 编辑      pbNavigator - 导航

上面的值你可以混合使用。

property DoubleBuffered: Boolean default True;预览窗口采用双缓存区模式。假如启用(预置值),画面输出时屏幕不会有闪烁的情形,但处理速度会稍微下降。

property Maximized: Boolean default True;定义预览窗口是否最大化。

property MDIChild: Boolean default False;定义预览窗口是否为MDIChild (MDI 介面使用)

property Modal: Boolean default True;定义预览窗口是否为Modal 模示。

property OutlineVisible: Boolean default False;定义是否显示报表的大纲。

property OutlineWidth: Integer default 120;定义报表大纲显示的宽度。

property ShowCaptions: Boolean default False;定义是否显示按钮的标题。当启动该属性时,你应该限制Buttons 属性所显示按钮的个数,因为所有的按钮无法显示于同一画面。

property Zoom: Extended;预置的显示百分比率。

property ZoomMode: TfrxZoomMode default zmDefault;预置显示模式。

可用的值如下:zmDefault - 显示百分比率视“Zoom” 属性而定   zmWholePage - 整页模示

zmPageWidth - 页宽 zmManyPages - 两页

end;

报表打印相关属性的集合:

TfrxPrintOptions = class(TPersistent)

published

property Copies: Integer default 1;预置的打印份数。

property Collate: Boolean default True;不管校对份数。

property PageNumbers: String;打印的页码。例如,“1,3,5-12,17-“

property Printer: String;打印机名称。

property PrintPages: TfrxPrintPages default ppAll;

定义要打印的方式。可用的值如下:ppAll – 全部  ppOdd – 奇数页   ppEven – 偶数页

property ShowDialog: Boolean default True;是否显示打印窗口。

end;

报表相关属性的集合:

TfrxReportOptions = class(TPersistent)

published

property Author: String;报表作者。property CreateDate: TDateTime;报表建立日期。

property Description: TStrings;报表描述。property Name: String;报表名称。

property LastChange: TDateTime;报表最后修改日期。

property Password: String;报表密码。假如该属性为空白,当打开报表定义档时需要输入密码。

property Picture: TPicture;报表图片。

property SilentMode: Boolean default False无声(Silent)方式。所有的错误信息将被保存在“TfrxReport.Errors” 属性,而不会在屏幕上显示任何信息。

property VersionBuild: String;

property VersionMajor: String;

property VersionMinor: String;

property VersionRelease: String;决定报表版本的属性。

end;

下列的事件定义于TfrxReport 元件:2

property OnAfterPrint: TfrxAfterPrintEvent;发生在处理完每个报表物件之后(打印后)。

property OnBeforePrint: TfrxBeforePrintEvent;发生在处理完每个报表物件之前(打印前)。

property OnClickObject: TfrxClickObjectEvent;当预览一份报表时,选取报表内的物件时触发该事件。

property OnGetValue: TfrxGetValueEvent;当启动一份报表,发现未定义的变量时,该事件必须返回变量的值。

property OnManualBuild: TfrxManualBuildEvent;当开始打印报表,假如此事件被启动,然后FastReport 的引擎将被阻断(不处理),报表处理方法将交由程序员所写的程序处理。

property OnMouseOverObject: TfrxMouseOverObjectEvent;当报表处于浏览窗口,且鼠标指针移到该物件上时触发此事件。

property OnUserFunction: TfrxUserFunctionEvent;当执行报表的过程中,当调用的函数不存在,请使用“AddFunction” 方法提供自定义函数。

抱歉!评论已关闭.