【问题标题】:FastReport preview not showing all pagesFastReport 预览未显示所有页面
【发布时间】:2010-05-08 04:22:34
【问题描述】:

我在 Turbo Delphi Pro 中使用 FastReport 4.7.31。

以下过程根据用户输入处理存储在多个日期文件中的数据。

    procedure TfrmMain.MyReportPrint;
var  MDate : Tdate;
     S, myfile : string;
     firstone: boolean;
//   Date1, Date2 & ShowPreview are global variables set via a dialog box     
begin
   firstone := true;
   MDate := Date1;
   while MDate < IncDay(Date2, 1)  do
   begin
      DateTimeToString(S,'yyyymmdd',MDate);
      myfile := 'm' + S + '.dbf';
      if FileExists(DataPath + '\' + myfile) then
      begin
         tblPS.Close;
         tblPS.TableName := myfile;
         frxMyReport.PrepareReport(firstone);
         firstone := false;
      end;
      MDate := IncDay(MDate, 1);
   end;
   if ShowPreview then frxMyReport.ShowReport else frxMyReport.Print;
end;

frxMyReport.Print 打印所有页面。

frxMyReport.ShowReport只显示准备好的最后一页

【问题讨论】:

    标签: delphi preview fastreport


    【解决方案1】:

    ShowReport 方法采用可选参数ClearLastReport,其默认值为true。无论是真是假,ShowReport 都会在显示之前准备好报告,因此在您的代码中,您将丢弃已经准备好的所有内容,然后使用最近分配的表格设置重新准备报告。如果您对代码所做的唯一更改是将False 传递给ShowReport,那么您会发现预览显示了您的所有页面,但重复了最后一页。

    ShowReport 相比,Print 方法准备报告。它只打印已经准备好的内容。您想要 ShowPreparedReport 进行预览,而不是 ShowReport。请参阅FastReport 程序员手册的第 1.9 节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      相关资源
      最近更新 更多