FastReportDelphi动态生成报表.doc
文本预览下载声明
字段名、字段数不确定时,用 FastReport 动态生成报表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;
clientdataset1.CommandText:= 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.Margin := 20;
pPage.BottomMargin := 20;
// 创建报表 Title Band
pBand := TfrxReportTitle.Create(pPage);
pBand.CreateUniqueName();
显示全部