fastreport返回空白页面&未连接的页眉/页脚

时间:2018-01-18 01:26:27

标签: delphi-7 fastreport

所以我使用fastreport生成报告。我使用了其中的几个,它工作得很好。但是今天我做了另一个,当运行时,快速报告返回一个空白页,尽管里面有值。 我想知道那是什么样的错误,所以我用空白的形式做了另一个。在运行时,它返回错误:

  

错误:未连接的页眉/页脚。

我不知道发生了什么。错误突然来了。请帮忙。

1 个答案:

答案 0 :(得分:0)

您似乎尝试使用垂直波段重建报告。您应该重新加载报告模板以刷新带有垂直条带的报告,因为在报告准备期间更改了对象在垂直条带上的位置。 创建第二个TfrxReport实例,向其中加载相同的报告模板,然后在刷新之前重新加载报告模板

procedure TForm1.frxReport1Preview(Sender: TObject);
var Button: TSpeedButton;
begin
  Button := TSpeedButton.Create(TfrxPreviewForm(TfrxReport(Sender).PreviewForm).ToolBar);
  TfrxPreviewForm(TfrxReport(Sender).PreviewForm).ToolBar.InsertControl(Button);
  Button.Caption := 'Refresh';
  Button.Width := 60;
  Button.OnClick := RefreshReport;
end;

procedure TForm1.RefreshReport(Sender: TObject);
var
idx: Integer;
begin
  for idx := 0 to frxReport1.PagesCount - 1 do
  if frxReport1.Pages[idx] is TfrxReportPage then
    begin
      frxReport1.Pages[idx].Clear;
      frxReport1.Pages[idx].AssignAll(frxReport2.Pages[idx], True);
    end;
  TfrxPreviewForm(TSpeedButton(Sender).Owner.Owner).Report.ShowReport;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  frxReport2.AssignAll(frxReport1, True);
  frxReport1.EngineOptions.DestroyForms := False;
  frxReport1.ShowReport();
end;