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;
是否显示报表大纲 树状结构 。

转载于:https://blog.51cto.com/kaixinbuliao/892555

fastreport(B)相关推荐

  1. 如何配置FastReport.Net环境

    利用FastReport.Net工具箱中的EnvironmentSettings组件可以控制FastReport.Net的环境设置.把EnvironmentSettings组件放到窗体上,并使用下面的 ...

  2. FastReport.net 使用 Winform WebForm打印

    delphi用的fastreport比较多 所以.net中也研究一下用法,这个打印控件还是很简单的 只要手动设计一下写少许代码就可以打印了 甚至可以写成通用代码 以后就可以不用写代码 安装demo会同 ...

  3. FastReport 导出pdf时中文乱码的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 我使用的FastReport的版本为5.4.6.在导出pdf的时候,中文全是乱码,在网上查找资料,都是很老的资料,各种改源码. ...

  4. 不使用fastreport自带的条码组件打印快递单(一款很不错的条码组件下载)

    由于没有正确安装fastreport组件,导致没法使用fastreport中的条码组件,如何解决: 思路: 1.虽然条码组件不能使用,但有fastreport中picture组件可用. 2.查找可以生 ...

  5. fastReport 随记

    FastReport从流中加载数后,要保存到本地,否则调用设计界面(design())后,再保存要提示选择本地路径. FastReport中文包加载,在调用FastReport界面加载时,下面这样调用 ...

  6. 如何在单页应用程序Angular 7中使用FastReport Core Web报表

    2019独角兽企业重金招聘Python工程师标准>>> 下载FastReport.Net最新版本 单页应用程序的概念正在寻找越来越多的支持者.最着名的单页框架之一是Angular,它 ...

  7. FastReport.Net 入门

    任何一门编程技术入门体验都是以"Hello World"开始的,但我想再复杂一点的"Hello World",才能算真正的入门. FastReport.Net  ...

  8. FastReport 使用入门

    FastReport  是微软开发的一款快速报表工具,使用起来非常方便简单  最关键的是快捷. 下面介绍一下 Fastreport在项目中的使用. 下图为其中一个效果图 首先 打开FastReport ...

  9. FastReport.Net使用:[36]续表

    1. RepeatedBand的打印和子报表的使用. RepeatedBand实现方法:设置Band为每页重复.注意,从第二次打印开始,就是重复打印了.第一次打印不认为是RepeatedBand. 报 ...

  10. FastReport使用

    1.控件.参数赋值 try{FastReport.Report report = new FastReport.Report();string filename = @"C:\Users\A ...

最新文章

  1. Spring 系列: Spring 框架简介
  2. gentoo下gnome的抓图功能
  3. python怎么样才算入门编程-新手如何入门Python编程
  4. 生成4位验证码(后台)
  5. mysql-data-dumper
  6. train,dev,test数据集作用
  7. java.awt.headless 模式(Linux, java.awt.headless and the DISPLAY environment variable)
  8. SAP 2020全球技术大会(SAP 2020 TechEd)中国区会场现在开始报名啦!
  9. C++ 读取单个字符
  10. 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow
  11. markdown中快速插入Emoji表情包语法速查表!!!
  12. win11快捷键失效怎么办 windows11快捷键失效的解决方法
  13. 【CSON原创】javascript图片滚动效果发布
  14. (译)如何使用spritehelper和levelhelper教程:引子
  15. 计算机主板外部接口功能,笔记本电脑主板接口功能分享
  16. 解决Activiti 7自动部署后不生成数据库act_hi _* 历史表
  17. 手游平台系统搭建sdk服务端接口文档
  18. MES生产计划排程:提升工厂效益的有力工具
  19. 数据挖掘与数据分析的主要区别是什么?
  20. 什么是股票分仓软件, 实现原理解析2

热门文章

  1. latex转为html效果好吗,latex转HTML
  2. java 运算符适用类型_java基础(数据类型,运算符)
  3. 你分得清楚Maven的聚合和继承吗?
  4. 你还在全量加载iView么?试试手动配一个吧
  5. Rails2.2新特性:本地化与国际化
  6. Elasticsearch2.2.0数据操作
  7. hdu Hike on a Graph
  8. 关于按钮背景透明 + div拖拽
  9. Convirt 2.0 更新到 2.1版本
  10. MySQL中的join以及on条件的用法