FastReport中ShowPreparedReport 和 ShowReport区别

在 FastReport 中,ShowPreparedReportShowReport 的区别主要在于它们的调用时机和功能实现。

1. ShowPreparedReport

功能
  • 用于显示已经通过 PrepareReport 方法准备好的报表。

  • 在调用 PrepareReport 后,报表数据已经被加载和处理,ShowPreparedReport 只是将这些准备好的报表内容显示出来。

使用场景
  • 当你需要对报表进行多次操作(如修改数据、调整布局等)后再显示时,通常会先调用 PrepareReport,然后调用 ShowPreparedReport

  • 适用于需要多次准备报表内容,但只显示一次的情况。

代码示例
frxReport1.LoadFromFile('报表路径.fr3');
frxReport1.PrepareReport; // 准备报表
// 可以在此处对报表进行进一步操作,如修改数据等
frxReport1.ShowPreparedReport; // 显示准备好的报表

2. ShowReport

功能
  • 直接显示报表,无需提前调用 PrepareReport

  • ShowReport 会自动调用 PrepareReport 方法来准备报表内容,然后显示报表。

使用场景
  • 当你只需要简单地加载报表并直接显示时,可以直接使用 ShowReport

  • 适用于不需要对报表进行额外操作的场景。

代码示例
frxReport1.LoadFromFile('报表路径.fr3');
frxReport1.ShowReport; // 直接显示报表

3. 合并报表模板并打印

场景描述

假设你有两个报表模板(报表1.fr3报表2.fr3),你希望将它们合并为一个报表并打印。

实现步骤
  1. 加载第一个报表模板并准备:使用 LoadFromFilePrepareReport

  2. 加载第二个报表模板并准备:再次使用 LoadFromFilePrepareReport,但需要将 PrepareReport 的参数设置为 False,以避免覆盖第一个报表的内容。

  3. 显示或打印合并后的报表:使用 ShowPreparedReportPrint 方法。

代码示例
procedure TForm1.Button1Click(Sender: TObject);
begin
  // 加载第一个报表模板并准备
  frxReport1.LoadFromFile('报表1路径.fr3');
  frxReport1.PrepareReport;

  // 加载第二个报表模板并准备,注意设置 PrepareReport 的参数为 False
  frxReport1.LoadFromFile('报表2路径.fr3');
  frxReport1.PrepareReport(False);

  // 显示合并后的报表预览
  frxReport1.ShowPreparedReport;

  // 如果需要直接打印,可以调用 Print 方法
  // frxReport1.Print;
end;

详细说明

  • PrepareReport 方法

    • PrepareReport 方法用于准备报表,加载数据并处理报表模板。

    • 当你第一次调用 PrepareReport 时,它会初始化报表并加载数据。

    • 如果你再次调用 PrepareReport,默认情况下会覆盖之前的内容。为了避免覆盖,可以将参数设置为 False

  • ShowPreparedReport 方法

    • 用于显示已经准备好的报表。

    • 在调用 ShowPreparedReport 之前,必须先调用 PrepareReport

  • ShowReport 方法

    • 直接显示报表,内部会自动调用 PrepareReport

    • 如果你已经手动调用了 PrepareReport,则不需要再调用 ShowReport,直接使用 ShowPreparedReport 即可。

总结

  • ShowPreparedReport

    • 适用于需要对报表进行多次操作后再显示的场景。

    • 需要先调用 PrepareReport

    • 更灵活,可以对报表进行更多自定义操作。

  • ShowReport

    • 适用于简单地加载并直接显示报表的场景。

    • 自动调用 PrepareReport,无需手动调用。

    • 更简单,适合快速显示报表。

通过上述代码示例,可以清楚地看到如何使用 PrepareReportShowPreparedReport 来合并多个报表模板并打印。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值