delphi FastReport 自定义预览窗口显示报表

发布时间 2023-05-08 09:27:57作者: txgh

FastReport 自定义预览窗口显示报表

属性和方法

TfrxReport.Preview

property Preview: TfrxCustomPreview;

指向 TfrxPreview 组件的链接,在其中显示完成的报表。如果此属性为空,则在标准预览窗口中显示报表。

TfrxPreview

TfrxPreview 组件是为创建自定义预览窗口而设计的。要显示报表,该组件的链接应该分配给 TfrxReport.Preview属性。

TfrxPreview.OutlineVisible

property OutlineVisible: Boolean;

报表大纲视图。

TfrxPreview.PageCount

property PageCount: Intege;

报表的页数。

TfrxPreview.PageNo

当前页码(从 1 开始)。

TfrxPreview.ThumbnailVisible

property ThumbnailVisible: Boolean;

缩略图视图。

TfrxPreview.Zoom

property Zoom: Extended;

缩放系数。1100% 的比例。

TfrxPreview.Export

procedure Export(Filter: TfrxCustomExportFilter);

使用指定的导出过滤器导出报表。

TfrxPreview.Find

procedure Find;

显示文本搜索对话框。

TfrxPreview.First

procedure First;

移动到第一页。

TfrxPreview.Last

procedure Last;

移动到最后一页。

TfrxPreview.Next

procedure Next;

移动到下一页。

TfrxPreview.Print

procedure Print;

打印报表。

TfrxPreview.Prior

procedure Prior;

移动到上一页。

TfrxPreview.MouseWheelScroll

procedure MouseWheelScroll(Delta: Integer; Shift: TShiftState; MousePos: TPoint; Horz: Boolean = False);

滚动预览窗口。此方法用于 Form.OnMouseWheel 事件处理程序:

例子

自定义预览窗口显示报表

在窗体上放置TfrxReport组件frxReport1,放置TfrxPreview 组件frxPreview1

窗体TForm1分配 FormMouseWheel 事件

procedure TForm1.Button3Click(Sender: TObject);
begin
  //加载报表
  frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fr3');
  //设置预览报表使用自定义窗口
  frxReport1.Preview := frxPreview1;
  //预览报表
  frxReport1.ShowReport;
  //自定义预览窗口响应按键
  frxPreview1.SetFocus;
end;

procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer;
  MousePos: TPoint; var Handled: Boolean);
begin
  //自定义预览窗口响应鼠标滚轮
  frxPreview1.MouseWheelScroll(WheelDelta, Shift, MousePos, Handled);
end;

常用功能

procedure TForm1.Button4Click(Sender: TObject);
begin
  //显示报表大纲
  //frxPreview1.OutlineVisible := True;
  //显示缩略图
  //frxPreview1.ThumbnailVisible := True;
  //缩放80%
  //frxPreview1.Zoom := 0.8;

  //移动到第一页
  //frxPreview1.First;
  //移动到前一页
  //frxPreview1.Prior;
  //移动到下一页
  //frxPreview1.Next;
  //移动到最后一页
  //frxPreview1.Last;
  //移动到指定页(总页数大于1时,跳转到第2页)
  //if frxPreview1.PageCount > 1 then
  //  frxPreview1.PageNo := 2;

  //打印
  //frxPreview1.Print;
  //导出Excel 2007
  //frxPreview1.Export(frxXLSXExport1);

  //显示搜索对话框
  //frxPreview1.Find;
  //显示页面设置对话框
  //frxPreview1.PageSetupDlg;
end;