怎么使用FastReportVCL的TfrxReport组件
这篇文章主要介绍“怎么使用FastReport VCL的TfrxReport组件”,在日常操作中,相信很多人在怎么使用FastReport VCL的TfrxReport组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用FastReport VCL的TfrxReport组件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联建站主营安阳网站建设的网络公司,主营网站建设方案,成都APP应用开发,安阳h5成都微信小程序搭建,安阳网站营销推广欢迎安阳等地区企业咨询
FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的报告和文档创建VCL库。它提供了可视化模板设计器,可以访问最受欢迎的数据源,报告引擎,预览,将过滤器导出为30多种格式,并可以部署到云,Web,电子邮件和打印中。
近日,FastReport VCL更新至v6.9,在新版本中,在PDF导出中增加了对以下对象的交互式表单支持:文本,复选框和图片。能够通过InteractiveFormsFontSubset属性将所需的字形仅包含在交互式形式中。同时修复了多个Bug问题。欢迎下载体验。(点击下方按钮下载)
立即点击下载FastReport VCL v6.9最新版
加载和保存报告
默认情况下,报告表单与项目表单一起存储,即存储在DFM文件中。在大多数情况下,不需要任何其他操作,因此您无需采取特殊措施即可加载报告。如果您决定将报告表单存储在文件中或DB BLOb字段中(这提供了极大的灵活性,即您可以在不重新编译程序的情况下修改报告),则必须使用以下TfrxReport方法来加载和保存报告:
function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean;
从文件中加载具有给定名称的报告。如果第二个参数等于“ True”,但找不到该文件,则它将生成异常。如果文件加载成功,则返回“ True”。
procedure LoadFromStream(Stream: TStream);
从流中加载报告
procedure SaveToFile(const FileName: String);
将报告保存到具有指定名称的文件中
procedure SaveToStream(Stream: TStream);
将报告保存到流中
带有报告表单的文件默认情况下具有“ FR3”扩展名。
例子:
Pascal:
frxReport1.LoadFromFile('c:\1.fr3'); frxReport1.SaveToFile('c:\2.fr3');
C ++:
frxReport1->LoadFromFile("c:\\1.fr3"); frxReport1->SaveToFile("c:\\2.fr3");
设计报告
调用报表设计器是通过TfrxReport.DesignReport方法执行的。设计人员必须包含在您的项目中(使用TfrxDesigner组件或将“ frxDesgn”单元添加到使用列表中就足够了)。
该DesignReport方法采用两个默认参数:
procedure DesignReport(Modal: Boolean = True; MDIChild: Boolean = False);
Modal参数确定设计者是否应该是模态的。MDIChild参数允许使设计器窗口成为MDI子窗口。
例子:
frxReport1.DesignReport;
运行报告
应用以下两种TfrxReport方法之一将启动报告:
procedure ShowReport(ClearLastReport: Boolean = True);
启动报告并在预览窗口中显示结果。如果“ ClearLastReport”参数等于“ False”,则该报告将添加到先前构建的报告中,否则将清除先前构建的报告(默认情况下)。
function PrepareReport(ClearLastReport: Boolean = True): Boolean;
在不打开预览窗口的情况下启动报告。参数分配与“ ShowReport”方法中的相同。如果成功构建了报告,则返回“ True”。
在大多数情况下,使用第一种方法更为方便。它会立即显示预览窗口,同时继续构建报告。
如果需要在先前构造的报表中添加另一个报表(此技术用于批量报表打印),则可以方便地使用“ ClearLastReport”参数。
例子:
frxReport1.ShowReport;
预览报告
可以通过两种方式在预览窗口中显示报告:通过调用TfrxReport.ShowReport 方法(如上所述)或借助该TfrxReport.ShowPreparedReport方法。在第二种情况下,不执行报告构造,但显示完成的报告。这意味着,您应该在PrepareReport方法的帮助下预先构建它,或者从文件中加载以前构建的报告(请参阅加载和保存完成的报告)。
例子:
Pascal:
if frxReport1.PrepareReport then frxReport1.ShowPreparedReport;
C ++:
if(frxReport1->PrepareReport(true)) frxReport1->ShowPreparedReport();
在这种情况下,报告构建首先完成,然后显示在预览窗口中。构造大型报告可能要花费很多时间,因此使用ShowReport异步方法比PrepareReport/更好ShowPreparedReport。默认情况下,可以通过TfrxReport.PreviewOptions属性分配预览设置。
打印报告
在大多数情况下,您将从预览窗口中打印报告。要手动打印报告,应使用以下TfrxReport.Print方法,例如:
frxReport1.LoadFromFile(...); frxReport1.PrepareReport; frxReport1.Print;
同时,将出现可以设置打印参数的对话框。您可以默认分配设置,并在该TfrxReport.PrintOptions属性的帮助下禁用打印对话框。
加载并保存完成的报告
可以从预览窗口执行。这也可以在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;
C ++:
frxReport1->PreviewPages->LoadFromFile("c:\\1.fp3"); frxReport1->ShowPreparedReport();
注意:完成报表加载后,将通过ShowPreparedReport方法执行其预览!
汇出报告
可以从预览窗口执行。也可以通过TfrxReport.Export方法手动执行该操作。在此方法的参数中,应指定要使用的导出过滤器:
frxReport1.Export(frxHTMLExport1);
导出过滤器组件必须可用(您必须将其放在项目的窗体上)并已正确调整。
创建一个自定义预览窗口
FastReport在标准预览窗口中显示报告。如果由于某种原因它不适合您,则可能会创建一个自定义预览表单。为此,TfrxPreview设计了FastReport组件面板中的组件。要显示报告,应将此TfrxReport.Preview属性的链接分配给该属性。
使用TfrxPreview组件时有两个典型的问题。它不处理键(箭头,PgUp,PgDown等)和鼠标滚轮(如果有)。要TfrxPreview使用键,请将焦点传递给它(例如,可以在OnShow表单的事件处理程序中完成):
frxPreview.SetFocus;
要TfrxPreview使用鼠标滚动,必须创建OnMouseWheel表单的事件处理程序并TfrxPreview.MouseWheelScroll在此处理程序中调用方法:
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); begin frxPreview1.MouseWheelScroll(WheelDelta); end;
到此,关于“怎么使用FastReport VCL的TfrxReport组件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
分享题目:怎么使用FastReportVCL的TfrxReport组件
标题路径:http://scyanting.com/article/jhjsoe.html