FastReport4(Delphi)动态生成报表

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字段名、字段数不确定时,用FastReport4 动态生成报表

Delphi xe3 + FastReport4.14.1

ADOConnection,ADOQuery,DatasetProvider,ClientDataSet,DataSource,FrxDBDataset1,FrxReport屬性設置,不在這裡詳述。

效果圖:

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids, Datasnap.Provider, Data.Win.ADODB, Data.DB, Datasnap.DBClient, frxClass, frxPreview, frxDesgn, frxDBSet;

type

TForm1 = class(TForm)

ADOConnection1: TADOConnection;

DataSource1: TDataSource;

ClientDataSet1: TClientDataSet;

ADOQuery1: TADOQuery;

DataSetProvider1: TDataSetProvider;

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

frxDBDataset1: TfrxDBDataset;

frxDesigner1: TfrxDesigner;

frxPreview1: TfrxPreview;

frxReport1: TfrxReport;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

clientdataset1.Close;

mandText:= 'select user_id,user_name ,sal_no from t_user '; clientdataset1.Open;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

pDataPage :TfrxDataPage;

pPage :TfrxReportPage ;

pBand :TfrxBand;

pDataBand :TfrxMasterData ;

pMemo :TfrxMemoView ;

i:integer;

x,y,z,width:extended;

begin

// 清除原报表内容

frxReport1.Clear;

// 设置Report 的DataSet

frxReport1.DataSets.Add(frxDBdataset1);

// 添加Report 的Data 页

pDataPage := TfrxDatapage.Create(frxReport1);

// 增加报表显示内容

pPage := TfrxReportPage.Create(frxReport1);

ppage.CreateUniqueName();

// 设置Fields 的默认尺寸

pPage.SetDefaults;

// 页面方向

// pPage.Orientation := poLandscape;

// 页面边距

pPage.TopMargin := 20;

pPage.LeftMargin := 20;

pPage.RightMargin := 20;

pPage.BottomMargin := 20;

// 创建报表Title Band

pBand := TfrxReportTitle.Create(pPage);

pBand.CreateUniqueName();

pBand.Top := 0;

pBand.Height := 20;

// 创建显示Field 的Memo

pMemo := TfrxMemoView.Create(pBand);

pMemo.CreateUniqueName();

pMemo.Text := 'Hello FastReport!';

pMemo.Height := 20;

// 风格

pMemo.Align := baWidth;

// 创建DataBand

pDataBand := TfrxMasterData.Create(pPage);

pDataBand.CreateUniqueName();

pDataBand.DataSet := frxDBDataset1;

pDataBand.Top := 100;

pDataBand.Height := 20;

// 将Memo 添加到DataBand 上

pMemo := TfrxMemoView.Create(pDataBand);

pMemo.CreateUniqueName();

// 连接数据

pMemo.DataSet := frxDBDataset1;

// 显示username 字段

pMemo.DataField := 'user_name';

pMemo.SetBounds(0, 0, 100, 20);

相关文档
最新文档