怎么使用FastReportVCL的TfrxReport组件-成都快上网建站

怎么使用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://kswjz.com/article/jhjsoe.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流