fastreport(B)

简介:

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);
    使用指定的导出过滤器(exportfilter)导出报表內容。因为下列的方法只提供一种服务在大部分的情況之下,你并不须要使用它们。在增強 FastReport 的报表功能方面,他们可能是很有用的。例如,当撰写自定义的报表元件时。

 

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

 

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

 

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 = '');
    加入使用者自定函数至报表的函数列表。

 

TfrxReport 元件拥有下列属性:

 

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

 

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

 

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

 

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” 元件,经由该连接,你可以为你的报表脚本语言加入变量、类型、函数以供以后调用。

property Style: TfrxStyle;
    报表式样。

property Variables: TfrxVariables readonly;
    报表变量列表。

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 = setof 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”方法提供自
定义函数。

TfrxDBDataset

TfrxUserDataset

数据存取元件。FastReport使用这些元件读取及参考数据库的字段,这两个
元件都源于 “TfrxDataSet” 并继承其大部分的功能。

TfrxUserDataSet元件允许构建未连接到数据库的报表,而由其它来源接收
数(据如:数列、文件等)。在此同时,程序员仅需提供浏览此数据集的功能,资料
接收并非由此元件执行,而是用其它的方法(例如,经由
“TfrxReport.OnGetValue”事件)。

TfrxUserDataSet 元件有下列的属性:

property RecNo: Integer readonly;
目前记录编号,首笔的记录编号是“ ”
0

property Enabled: Boolean default True;
定义此元件是否可在designer里面使用。

property RangeBegin: TfrxRangeBegin default rbFirst;
数据导航(navigation)的起点。下列的值可以使用:
rbFirst – 从数据的第一笔记录开始。
rbCurrent – 从当前的记录开始。
property RangeEnd: TfrxRangeEnd default reLast;
数据导航(navigation)的起点。下列的值可以使用:
reLast – 直到数据结束。
ReCurrent – 直到目前的记录。
reCount – 依“RangeEndCount” 属性而定。

property RangeEndCount: Integer;
数据集中的数据个数,此功能只在“RangeEnd”属性等于 reCount 有效。
property UserName: String;
符号名称。在报表设计环境(Designer)下,将被显示于DataSet 的下方。

property OnCheckEOF: TfrxCheckEOFEvent;
TfrxCheckEOFEvent=procedure(Sender:TObject;varEof:Boolean)
of object; 此事件在数据集的尾端时,Eof参数将返回 True。

property OnFirst: TNotifyEvent;
数据集移至第一笔的位置时,会触发此事件。

property OnNext: TNotifyEvent;
数据集移至下一笔的位置时,会触发此事件。

property OnPrior: TNotifyEvent;
数据集移至上一笔的位置时,会触发此事件。

TfrxDBDataSet 元件用来连接以 TDataSet, TTable 及 TQuery 为基类的数
据库元件,有关数据的导航及字段的参考都是自动的,程序员不需特殊的设定。除
上述属性外,该元件有下列的属性:

property CloseDataSource: Boolean default False;
报表创建完成后,关闭数据库。
property OpenDataSource: Boolean default True;
在报表创建之前打开数据库。
property FieldAliases: TStrings;
数据集字段的符号名称 别名 。
( )
property DataSet: TDataSet; property DataSource:
TDataSource;
连结至 TDataSet 或 TDataSource 类型的元件。
property OnClose: TNotifyEvent;
当关闭数据集时触发此事件。
property OnOpen: TNotifyEvent;
当打开数据集时触发此事件

TfrxDesigner
TfrxDesigner 元件是报表设计器,当使用此元件,你的工程文件就可以使
用报表设计器,此元件它只包含一些报表设计器的设定,当加入”frxDesign” 单
元到uses 清单中,就表明与报表设计器连接上了。
此元件包含下列的属性:

property CloseQuery: Boolean default True;
定义结束设计报表是否询问储存报表之用。
property OpenDir: String;
打开报表的预置数据目录。

property SaveDir: String;
储存报表的预置数据目录。

property Restrictions: TfrxDesignerRestrictions;
报表设计环境下,限制不同的报表操作标识 (flag),此标识包含单一或混合数据
值:
drDontInsertObject – 禁止插入物件
drDontDeletePage – 禁止刪除页面
drDontCreatePage – 禁止建立新的页面
drDontChangePageOptions – 禁止修改页面属性
drDontCreateReport – 禁止建立新报表
drDontLoadReport – 禁止载入报表
drDontSaveReport – 禁止储存报表
drDontPreviewReport – 禁止预览报表
drDontEditVariables – 禁止编辑变量
drDontChangeReportOptions – 禁止修改报表属性

property OnLoadReport: TfrxLoadReportEvent;
TfrxLoadReportEvent = function(Report: TfrxReport): Boolean of
object;
此事件发生在载入报表之时。利用此事件,你可以从数据库载入报表。

property OnSaveReport: TfrxSaveReportEvent;
TfrxSaveReportEvent = function(Report: TfrxReport;
SaveAs:Boolean): Boolean of object;
此事件发生在储存报表之时。利用此事件,你可以将报表储存于数据库中。
property OnShow: TNotifyEvent;
此事件发生在启动报表设计环境时。

TfrxPreview
此元件专供建立自定义报表合预览窗口使用。

procedure AddPage;
加入空白页面到报表末端。

procedure DeletePage;
删除当前页。

procedure Print;
打印报表。

procedure LoadFromFile;
显示文件载入窗口。

procedure LoadFromFile(FileName: String);
载入指定的文件。

procedure SaveToFile;
显示文件储存窗口。

procedure SaveToFile(FileName: String);
储存文件到指定的文件名称。

procedure Edit;
载入当前页至设计模式供编辑使用。

procedure Export(Filter: TfrxCustomExportFilter);
使用指定的导出过滤器导出报表。

procedure First;
第一页。

procedure Next;
下一页。

procedure Prior;
上一页。

procedure Last;
最后一页。
procedure PageSetupDlg;
显示页面设定窗口。

procedure Find;
显示文字搜寻窗口。

procedure FindNext;
继续找下一个。

procedure Cancel;
取消创建报表。

procedure Clear;
清除报表。

你可以使用下列属性:
property PageCount: Integer readonly;
报表页数。

property PageNo: Integer;
目前报表页码 起始值为 。要移至其它页面,指定此属性的值即可。
( 1)

property Tool: TfrxPreviewTool;
选取工具。

property Zoom: Extended;
显示比例,“1” 代表 100% 。

property ZoomMode: TfrxZoomMode;
显示模式,可以的显示模式如下:
zmDefault – 预置值,显示比例根据“Zoom” 属性而定
zmWholePage – 整页模式
zmPageWidth – 与页面宽度相同
zmManyPages – 一屏显示多页

property OutlineVisible: Boolean;
是否显示报表大纲 树状结构 。













本文转自鹅倌51CTO博客,原文链接: http://blog.51cto.com/kaixinbuliao/892555,如需转载请自行联系原作者




相关文章
|
12月前
|
搜索推荐 数据管理 定位技术
iOS应用开发中有多种主流框架
iOS应用开发中有多种主流框架
709 60
|
人工智能 自然语言处理 搜索推荐
Perplexity AI和秘塔AI相比如何?
【2月更文挑战第16天】Perplexity AI和秘塔AI相比如何?
1725 1
Perplexity AI和秘塔AI相比如何?
|
存储 弹性计算 文件存储
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
随着Windows容器逐渐普及和发展,Windows容器持久化存储以及容器间共享的需求越来越高涨。 本文介绍如何让Windows主机正确配置NAS SMB文件系统,支持Windows容器让Docker镜像使用挂载NAS SMB文件系统的子目录作为持久化存储目录。
7519 0
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
|
4月前
|
XML Linux 区块链
Python提取Word表格数据教程(含.doc/.docx)
本文介绍了使用LibreOffice和python-docx库处理DOC文档表格的方法。首先需安装LibreOffice进行DOC到DOCX的格式转换,然后通过python-docx读取和修改表格数据。文中提供了详细的代码示例,包括格式转换函数、表格读取函数以及修改保存功能。该方法适用于Windows和Linux系统,解决了老旧DOC格式文档的处理难题,为需要处理历史文档的用户提供了实用解决方案。
342 1
|
5月前
|
人工智能
智能体(AI Agent)开发实战之【Coze】(一)治愈和疗愈系图文一键量产
智能体(AI Agent)开发实战之【Coze】(一)治愈和疗愈系图文一键量产(附保姆级工作流)
智能体(AI Agent)开发实战之【Coze】(一)治愈和疗愈系图文一键量产
|
Linux C# Android开发
一个开源、跨平台的.NET UI框架 - Avalonia UI
一个开源、跨平台的.NET UI框架 - Avalonia UI
782 3
|
12月前
|
存储 算法 安全
FreeMQTT:一款Python语言实现的开源MQTT Server
FreeMQTT 是一款用 Python 语言并基于 Tornado 开发的开源 MQTT 服务器,支持 MQTT3.1.1 和 MQTT5.0 协议,提供多租户安全隔离、高效 Topic 匹配算法及实时上下线通知等功能,适用于 IoT 场景。快速启动仅需克隆仓库、安装依赖并运行服务。
1383 0
|
人工智能 数据可视化 开发者
快速部署 Dify 社区版
Dify.AI 是一款 LLMOps 平台,帮助开发者更简单、更快速地构建 AI 应用。它的核心理念是通过可声明式的 YAML 文件定义 AI 应用的各个方面,包括 Prompt、上下文和插件等。Dify 提供了可视化的 Prompt 编排、运营、数据集管理等功能。这些功能使得开发者能够在数天内完成 AI 应用的开发,或将 LLM 快速集成到现有应用中,并进行持续运营和改进,创造一个真正有价值的 AI 应用。本文介绍使用计算巢快速部署 Dify 社区版。
快速部署 Dify 社区版
|
机器学习/深度学习 人工智能 算法
【机器学习】大模型训练的深入探讨——Fine-tuning技术阐述与Dify平台介绍
【机器学习】大模型训练的深入探讨——Fine-tuning技术阐述与Dify平台介绍
|
前端开发 Linux UED
Wagtail-基于Python Django的内容管理系统CMS如何实现公网访问
Wagtail-基于Python Django的内容管理系统CMS如何实现公网访问
234 0