FastReport VCL程序员手册:使用TfrxReport组件

加载和保存 告

默认情况下, 告表单与项目表单一起存储,即存储在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感兴趣,欢迎加入FastReport QQ交流群:702295239

还想要更多吗可以点击阅读【FastReport 表2020最新资源盘点】查找需要的教程资源。让人兴奋的是FastReport .NET正在 火热销售中!在线订购惠享超低折扣。>>查看价格详情

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月9日
下一篇 2021年3月9日

相关推荐

发表回复

登录后才能评论