所以我使用fastreport生成报告。我使用了其中的几个,它工作得很好。但是今天我做了另一个,当运行时,快速报告返回一个空白页,尽管里面有值。 我想知道那是什么样的错误,所以我用空白的形式做了另一个。在运行时,它返回错误:
错误:未连接的页眉/页脚。
我不知道发生了什么。错误突然来了。请帮忙。
答案 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;