`

fast report 的使用说明

阅读更多

1. TfrxDBDataset  

    

      TfrxUserDataset 数据存取元件。

       FastReport 使用这些元件读取及参考数据库的字段,这两个元件都源于 “TfrxDataSet” 并继承其大部分的功能。 TfrxUserDataSet 元件允许构建未连接到数据库的报表,而由其它来源接收数(据如:数列、文件等)。在此同时,程序员仅需提供浏览此数据集的功能,资料接收并非由此元件执行,而是用其它的方法(例如,经由“TfrxReport.OnGetValue”事件)。

 

     TfrxUserDataSet 元件有下列的属性: 

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

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

              

                (3)   property RangeBegin: TfrxRangeBegin default rbFirst;数据导航(navigation)的起点。

                      下列的值可以使用: rbFirst – 从数据的第一笔记录开始。rbCurrent – 从当前的记录开始

                (4)   property RangeEnd: TfrxRangeEnd default reLast;数据导航(navigation)的起点。

                      下列的值可以使用: reLast – 直到数据结束。ReCurrent – 直到目前的记录。reCount – 依“RangeEndCount” 属性而                  定。

                (5)   property RangeEndCount: Integer;数据集中的数据个数,此功能只在“RangeEnd”属性等于reCount 有效。

                (6)   property UserName: String;符号名称。在报表设计环境(Designer)下,将被显示于DataSet 的下方。

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

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

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

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

 

2.     TfrxDBDataSet 元件用来连接以TDataSet, TTable 及TQuery 为基类的数据库元件,有关数据的导航及字段的参考都是自动的,程序员不需特殊的设定。

        除上述属性外,该元件有下列的属性:

       (1)   property CloseDataSource: Boolean default False;报表创建完成后,关闭数据库。

       (2)   property OpenDataSource: Boolean default True;在报表创建之前打开数据库。

       (3)   property FieldAliases: TStrings;数据集字段的符号名称(别名)。

      (4)    property DataSet: TDataSet;

      (5)    property DataSource: TDataSource;连结至TDataSet 或TDataSource 类型的元件。

      (6)    property OnClose: TNotifyEvent;当关闭数据集时触发此事件。

      (7)    property OnOpen: TNotifyEvent;当打开数据集时触发此事件

 

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

        此元件包含下列的属性:

        (1)   property CloseQuery: Boolean default True;定义结束设计报表是否询问储存报表之用。

        (2)   property OpenDir: String;打开报表的预置数据目录

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

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

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

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

      (7)   property OnShow: TNotifyEvent;此事件发生在启动报表设计环境时。

 

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

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

      (2)   procedure DeletePage;删除当前页。

      (3)   procedure Print;打印报表。

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

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

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

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

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

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

      (10) procedure First;第一页。

      (11) procedure Next;下一页。

      (12) procedure Prior;上一页

      (13) procedure Last;最后一页。

      (14) procedure PageSetupDlg;显示页面设定窗口。

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

      (16) procedure FindNext;继续找下一个。

      (17) procedure Cancel;取消创建报表。

      (18) procedure Clear;清除报表。

      你可以使用下列属性:

       (1)   property PageCount: Integer readonly;报表页数。

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

       (3)   property Tool: TfrxPreviewTool;选取工具。

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

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

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

      (7)   property OnPageChanged: TfrxPageChangedEvent;目前页面要改变时,此事件将被触发。

 

5.   TfrxBarcodeObject  TfrxOLEObject   TfrxChartObjectTfrxRichObject TfrxCrossObject    TfrxCheckBoxObject     TfrxGradientObject 可在报表内部使用的物件,这些元件自己没做任何事情,它们会自动将元件的单元加入uses 清单,加入你打算打开一份报表,此功能会自动被加入报表,未包括此物件至工程文件的话,打开报表时将会发生错误。 TfrxDialogContols 附加项(add-in) 物件的集合,可用于报表内的对话窗口,它包含下列元件:button,edit box, list box 等。此元件自己不会执行任何事,加入此元件“frxDCtrl”将会自动加入“Uses”清单。 TfrxBDEComponents BDE 数据库元件,数据库界面采用BDE(Borland Database Engine)时,工程文件必须加入此元件。 TfrxADOComponents ADO 数据库元件,数据库连接采用ADO(Advance Data Object)时,工程文件必须加入此元件。 TfrxIBXComponents Interbase 数据库元件,数据库采用IBX 连接Interbase 后台数据库时,工程文件必须加入此元件。上述数据库元件,可被使用在报表的对话窗口上,它包括下列的元件: “Database”,“Table” 及“Query” 。这些元件本身并不做任何事;它们只会将元件隶属的单元自动加入uses 清单中。 Working with TfrxReport component Loading and saving a report 存取报表报表定义表格与工程文件的表格储存在同一个文件(.DFM),在大部分的情況下,并不需要额外的操作步骤,因此载入报表便相当简单。假如你要将报表储存在文件或数据库的BLOB 字段,你必须使用“TfrxReport”提供的方法来载入及储存报表。 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) 。报表预置的后缀名称为“FR3”。范例: frxReport1.LoadFromFile('c:\1.fr3'); frxReport1.SaveToFile('c:\2.fr3'); Designing a report 设计报表通过“TfrxReport.DesignReport”方法调用报表设计器(reportdesigner),要具有设计报表的功能,你必须在工程文件中加入“TfrxDesigner”元件,或在uses 加入“frxDesgn”单元。范例:frxReport1.DesignReport; Running a report 执行报表应用下列两个“TfrxReport”元件的方法启动报表:procedure ShowReport(ClearLastReport: Boolean = True); 启动报表并显示结果在浏览窗口。假如“ClearLastReport”参数等于“False”,然后报表将会清前一份报表的末端,否则前一份报表的内容将会被清除ど柚。function PrepareReport(ClearLastReport: Boolean = True):Boolean; 启动报表,但不开启预览窗口,参数用法同“ShowReport”方法,假如报表建立成功,它返回“True”。在大部分的情況下,采用第一种方法比较方便,当报表建立的过程中,它会立刻显示预览窗口。当我们要把报表加入上一份报表的后面时,“ClearLastReport”参数是非常方便的技巧在批次报表打印时特别有效)。范例:frxReport1.ShowReport; Previewing a report 预览报表在报表预览窗口显示报表有两种方式:不管是调用“TfrxReport.ShowReport”方法(前面已提及)或使用“TfrxReport.ShowPreparedReport”方法。在第二种状况,报表创建的过程不会执行,但是报表的结果会显示于屏幕。这个意思是说,你应该使用“PrepareReport”方法创建报表或载入先前已经建立的报表。范例: if frxReport1.PrepareReport then frxReport1.ShowPreparedReport; 在这个案例中,报表创建完成在先,然后显示报表于浏览窗口。创建大型的报表可能耗费许多时间,那也是为什么使用“ShowReport”方法会比“PrepareReport/ShowPreparedReport” 来的好的原因,我们指定“TfrxReport.PreviewOptions” 属性,指定预览的参数。 Printing a report 打印报表在大部份的情況,你会从预览窗口打印报表。要手动打印报表,你应该使用“TfrxReport.Print”方法,例如:frxReport1.Print; 在此同时,你可以设定打印对话窗口的参数。你可以从“TfrxReport.PrintOptions”属性指定打印的预置值及取消显示打印窗口。 Loading and saving a finished report 存取已完成的报表它可以从预览窗口执行,这也可以手动的用“TfrxReport.PreviewPages”方法执行: function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean; procedure SaveToFile(const FileName: String); procedure LoadFromStream(Stream: TStream); procedure SaveToStream(Stream: TStream);指定参数与TfrxReport 对应的方法类似,报表文件后缀名必须是”FP3” 。例: frxReport1.PreviewPages.LoadFromFile('c:\1.fp3'); frxReport1.ShowPreparedReport;注:当已完成报表载入后,预览报表必须通过 “ShowPreparedReport”方法来执行。 Exporting a report 导出报表它可从预览窗口执行,此项功能也可以用“TfrxReport.Export”方法来执行,在此方法的参数中,你必须指定要使用的导出过滤元件:如:frxReport1.Export(frxHTMLExport1);导出过滤元件必须是可用的(你必须将它放入工程文件的表单上)且设定正确。 Creating a custom preview window 建立自定义预览窗口 FastReport 显示报表于标准的预览窗口。假如为了某种理由它无法满足你,你可以使用自定义的预览窗口。为此,FastReport 的“TfrxPreview” 元件于是诞生了,要显示报表这个元件必须连接到“TfrxReport.Preview”属性。 Building a composite report (batch printing) 建立复合报表(批量打引) 在某些情况下,我们必须一次打印数份报表,或封装及实现多份报表于同一个预览窗口。要执行这项工作,在FastReport 中有多个工具,允许建立一份新的报表,置于另一份已存在的报表末端,«TfrxReport.PrepareReport»方法有此«ClearLastReport», «True»,此参数定义是否清除前一份已建立的报表。下列的程序码示范如何从两个报表定义文件,批次建立一份报表: frxReport1.LoadFromFile('1.fr3'); frxReport1.PrepareReport; frxReport1.LoadFromFile('2.fr3'); frxReport1.PrepareReport(False); frxReport1.ShowPreparedReport; 我们载入第一个报表并在后台处理报表(不显示),然后我们载入第二份报表到同一«TfrxReport»物件,并置参数 «ClearLastReport» 的值为假(False)建立报表。此功能允许第二份报表的结果接在第一份报表的后面。最后,我们将两份报表显示在同一个预览窗口中。 Numbering of pages in a composite report 复合报表中的页数你可以使用 «Page», «Page#», «TotalPages» 及 «TotalPages#» 系统变量显示页码或总页数。在复合式报表,这些变量代表的意义如下:Page -目前报表的页码Page# -批次报表的页码TotalPages -目前报表的总页数(报表必须设定为two-pass)TotalPages# -批次报表的总页数 Combination of pages in a composite report 复合报表的合并页如上所述,当打印时,报表设计的属性 «PrintOnPreviousPage»可以利用前一页的可用空间打印下一页的内容。在复合报表中,它允许你在前一份报表最后一页的可用空间上建立一份新的报表,要执行此功能,必须在每一份连续报表的第一个设计页面启动属性«PrintOnPreviousPage»。 Interactive reports 交互式报表在交互式报表中,我们可以在预览窗口定义任何报表物件对鼠标按下的反应。例如,使用者选择数据列,然后做一份新的报表,显示选取列的明细数据。任何报表都可以成为交互式报表,要执行此操作,你只需建立TfrxReport.OnClickObject 事件处理程序。下面是此事件处理的范例: procedure TForm1.frxReport1ClickObject(Page: TfrxPage; View: TfrxView; Button: TMouseButton; Shift: TShiftState; var Modified: Boolean); begin if View.Name = 'Memo1' then ShowMessage('Memo1 contents:' + #13#10 + TfrxMemoView(View).Text); if View.Name = 'Memo2' then begin TfrxMemoView(View).Text := InputBox('Edit', 'Edit Memo2 text:', TfrxMemoView(View).Text); Modified := True; end; end; 在 «OnClickObject» 事件处理程序中,你可以执行下列工作:-修改物件或页面的內容,但前提是«Modified»属性必须被指定。-调用 «TfrxReport.PrepareReport» 方法重新建立报表。在此范例中,点选 «Memo1» 物件将显示此物件的內容,当点选«Memo2,»将显示Dialog 窗口,物件的内容可于此窗口内被修改。设定«Modified» 标识为«True» 允許保留及显示修改后的內容。同样的方法,它也可被定义为一个单击,有不同的反映。例如,执行一个新的报表。下列的注释是必要的。在中,在一个预览窗口仅显示一个报告,由一个元件组成(不像FastReport 2.x 版)。这就是运行一个报告,其它 TfrxReport 物件,必须删除的原因。要给使用者按下物件一个提示,我们可以在鼠标指针移至物件上方时变更鼠标指针显示。要达到此目的,请在报表设计环境下,选取想要的物件,并设定不同于预置的Cursor 属性即可。可单击(clickable)物件有许多详细的定义规则。在简单的报表中,可以随意定义目录(contents)中物件的名称。可是,在复杂报表的报表中却不行。 例如,创建逐条的报表在有序的数据中。一个用户单击目录为“12”的«Memo1»物件。在该物件上数据将怎样排序?这就是你该明确知道主键值排列顺序的原因。FastReport 可分配一个包含任何数据(我们的例子中是主键值的数据)的字符串到任何报表的物件。此字符串储存在 «TagStr» 属性中。让我们以FastReport 的范例(FastReportDemo.exe 内的【Simple list】)来说明,这是一家公司的客户明细,打印的內容包括【client’s name】,【address】 【contact person】 等字段,数据来源是DBDEMOS 演示数据库的“Customer.db”数据表,该数据表有一个主键值【CustNo】字段,它并未输出在报表。我们的工作是决定点下的物件是哪一笔记录,然后取得该记录的主键值。要执行该工作,必须在Master Data 区域所有物件的«TagStr» 属性在报表建立期间, «TagStr» 属性的內容会以相同的方法被重新计算,当字符物件的內容被计算,所有用到此变量的值将会被取代。假如主鍵值(Primary Key) 是复合字段(它包含多个字段), «TagStr» 属性的內容可以是下列的写法:[Table1."Field1"];[Table1."Field2"] 建立报表后, «TagStr» 属性的值包含'1000;1' , 这样就不难取得键值。

分享到:
评论

相关推荐

    Fast Report 设计手册

    * 在报表的每页或最后一页打印一些说明:可以使用 Fast Report 的页脚控件来实现报表的页脚打印 四、Fast Report 的高级设计 * 在报表中添加其他表:可以使用 Fast Report 的子报表控件来实现报表中的其他表添加 *...

    Fast report 4.73 For D2007 FS

    而“fr47.txt”则可能包含了关于该版本的详细说明、更新日志或者使用指南,对于理解和使用Fast Report 4.73会非常有帮助。 在实际开发中,Fast Report 4.73 For D2007 FS的使用者不仅需要掌握基本的报表设计技巧,...

    Fast Report 3.0 FullSource for D7

    5. **国际化与本地化**:Fast Report 支持多语言,包括英文和俄文,从`license_rus.rtf`和`readme_rus.rtf`的文件名可以看出,还包括俄文的许可证和使用说明。这使得全球范围内的用户都能方便地使用和理解组件。 6....

    fast report 4.5.6 for berlin 10.1 直接使用包

    网上能够找到的fast report 在berlin 10.1下编译基本上都出错,这个版本做成了懒人包,可以直接编译并安装。Delphi 升级到berlin 10.1版本后,QREPORT 与 MACHINE REPORT 无法使用 TEECHAR这个图表控件,报表打印时...

    Componente-Fast Report v4.7.109.7z

    "license_rus.rtf"、"readme_rus.rtf"、"changes_rus.txt"、"install_rus.txt"等文件都是关于Fast Report的文档资源,分别包含了许可协议、使用说明、更新日志和安装指南。这些文档是开发者了解和使用Fast Report的...

    FAST REPORT 4.X TRAIL

    5. **多语言支持**:为了满足全球化需求,FAST Report 4.x 支持多语言报表设计,方便不同地区的用户使用。 6. **网络和Web报表**:不仅限于桌面应用,FAST Report 4.x 还可以用于Web应用程序,支持在浏览器中查看和...

    最新报表 Fast.report.v4.8.11

    Fast Report是一款广泛应用于商业智能和数据分析领域的报表设计工具,尤其在.NET框架下有着出色的表现。最新版本"Fast.report.v4.8.11"带来了许多增强功能和优化,旨在提升用户体验,提高开发效率,以及更好地支持...

    Fast Report Professional Edition 4.7.9 - 22.10.2008 FS

    Fast Report Professional Edition是一款在软件开发领域广泛使用的报表设计和生成工具,版本4.7.9发布于2008年10月22日。它以其高效、易用和功能强大而受到开发者的青睐,尤其在商业智能和数据分析的应用中扮演着...

    FAST REPORT 4 开发指南.CHM

    《FAST REPORT 4 开发指南》是一份专为开发者准备的详细参考资料,旨在帮助用户深入理解和熟练使用FastReport 4这一强大的报表设计和生成工具。该压缩包包含了三份重要的文档资源,分别是“FastReport 2.4中文开发...

    fastreport4.0中文使用说明

    本说明将介绍FastReport 4.0版本的主要使用方法及参数说明。 第一章主要介绍了报表设计的基本概念,包括控制键的使用、鼠标操作、工具栏的介绍以及设计选项和报表设置。其中工具栏分为设计模式工具栏、标准工具栏、...

    FastReport3.0及操作说明

    以下是对FastReport 3.0及其操作的详细说明: 1. **安装与集成** - 安装FastReport 3.0时,你需要确保你的开发环境支持.NET Framework 2.0或更高版本。 - 集成到项目中通常通过添加对FastReport库的引用完成,...

    FastReport3_Programmer_Manual.rar_FASTREPORT3_FAst Report_fastre

    `FastReport3_Programmer_Manual.gif`可能是手册的封面图片,而`2ccc.com.nfo`和`www.pudn.com.txt`可能是发布者提供的额外信息或者来源说明。 学习这份手册,不仅能够掌握FastReport3的使用方法,还能提升你在报表...

    Report Machine 3.0 f(for delphi bcb)

    想想fast report 吧,report machine会fast report会的,还会它不会的! 这是一个完全中文化报表控件,支持delphi3到delphi6,BCB3到BCB6。 它的最大优点就是:强大与自由! report machine目前主要能做的: 一...

    FastReports 5.2.3

    《FastReports 5.2.3:高效报表开发利器详解》 FastReports 5.2.3是一款由Fast Reports公司推出的强大报表开发工具,适用...在实际使用过程中,务必参考ReadMe.txt中的说明,确保正确安装和应用所有修复和优化内容。

    Report machine 2.4

    想想fast report 吧,report machine会fast report会的,还会它不会的! 这是一个完全中文化报表控件,支持delphi3到delphi6,BCB3到BCB6。 它的最大优点就是:强大与自由! report machine目前主要能做的: ...

    ReportMachine7.0ForD10.2.3.zip

    此外,“rm7.0支持FD数据库控件”意味着ReportMachine 7.0现在可以与FireDAC(Fast Data Access)数据库组件一起无缝工作,FireDAC是Delphi中的一个高效数据访问框架,能连接到多种数据库类型。 **标签解析** ...

    FastReports 6.2.11 FS D4-RAD10.3

    9. **ReadMe.txt**:通常包含安装指南、更新说明、版权信息以及可能遇到的问题和解决方案。 FastReport Professional 6.2.11 full source 指的是FastReports的专业版源代码,提供了更高级的功能和更全面的API,例如...

    FastReport Enterprise v3.07 零售版

    特别声明:安装前请注意看其中的说明文档,记得在Browse path加上FastScript及FastReport的目录。version 3.07----------+ added Delphi2005 packages+ added TfrxReport.Modified property+ added TfrxReport....

    FastReport.NET中文操作报表手册

    在报表的高级功能部分,手册详细说明了如何创建分组、数据排序、嵌套分组和打印合计。数据源的创建和管理是报表设计的关键,手册指导用户如何创建数据源、创建SQL查询,以及如何配置数据源的层次和关系。 图表报表...

    rm2.6正式版本

    想想fast report 吧,report machine会fast report会的,还会它不会的! 这是一个完全中文化报表控件,支持delphi3到delphi6,BCB3到BCB6。 它的最大优点就是:强大与自由! report machine目前...

Global site tag (gtag.js) - Google Analytics