FastReport4(Delphi)动态生成报表.doc_第1页
FastReport4(Delphi)动态生成报表.doc_第2页
FastReport4(Delphi)动态生成报表.doc_第3页
FastReport4(Delphi)动态生成报表.doc_第4页
FastReport4(Delphi)动态生成报表.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

字段名、字段数不确定时,用 FastReport4 动态生成报表Delphi xe3 + FastReport4.14.1 ADOConnection,ADOQuery,DatasetProvider,ClientDataSet,DataSource,FrxDBDataset1,FrxReport屬性設置,不在這裡詳述。效果圖:unit Unit1;interfaceuses 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 *.dfmprocedure 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.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); / memo 带边框 pMemo.Frame.Typ := ftLeft , ftRight , ftTop , ftBottom; / 风格 pMemo.HAlign := haRight; / 报表显示 frxReport1.ShowReport(true);end;procedure TForm1.Button3Click(Sender: TObject);var pDataPage :TfrxDataPage; pPage :TfrxReportPage ; pBand :TfrxBand; pDataBand :TfrxMasterData ; pMemo :TfrxMemoView ; pTitle :TfrxReportTitle; pPageHeader :TfrxPageHeader; pPagetFooter :TfrxPageFooter; i:integer; x,y,z,width:extended;poPortrait, poLandscape: TPrinterOrientation ;begin width:= 80 ; / 字段宽度 x:= 0 ; y:= 0 ; z:= 0 ; frxReport1.Clear; frxReport1.DataSets.Add(frxDBdataset1); pDataPage := TfrxDatapage.Create(frxReport1); pPage := TfrxReportPage.Create(frxReport1); ppage.CreateUniqueName(); pPage.SetDefaults; pPage.Orientation := poLandscape; / 橫印, poPortrait: 直印(默認), pPage.TopMargin := 10; / 上邊距 (mm) pPage.LeftMargin := 20; / 左邊距 (mm) pPage.RightMargin := 20; /右邊距 (mm) pPage.BottomMargin := 15; / 下邊距(mm) pBand := TfrxReportTitle.Create(pPage); pBand.CreateUniqueName(); pBand.Top := 0; pBand.Height := 20; pTitle := TfrxReportTitle.Create(pPage); pTitle.CreateUniqueName(); pTitle.Top := 0; pTitle.Height := 30; / 標題頭 pMemo := TfrxMemoView.Create(pTitle); pMemo.CreateUniqueName(); pMemo.Text :=AutoReport for FastReport4.14; pMemo.SetBounds(0,0,300,30); /MemoView :長、寬、高 ; pMemo.Font.Size := 14 ; / 14號字 pMemo.Font.Style :=fsBold; / 粗體 pMemo.Height := 30; pMemo.Align := baCenter; / MemoView:居中 ; / 創建 表頭欄 pPageHeader := TfrxPageHeader.Create(pPage); pPageHeader.CreateUniqueName; pPageHeader.Top := 50; pPageHeader.Height:= 20; for i := 0 to clientDataset1.FieldCount -1 do begin / 表頭欄位 pMemo := TfrxMemoView.Create(pPageHeader); pMemo.CreateUniqueName(); pMemo.Text := clientDataset1.Fieldsi.FieldName; pMemo.SetBounds( i * width, 0, width, 20); pMemo.Frame.Typ:=ftLeft , ftRight , ftTop , ftBottom; pMemo.Height := 20; / 风格 / pMemo.Align := baWidth; pMemo.Align := baLeft; end; / end for ; / 创建 DataBand pDataBand := TfrxMasterData.Create(pPage); pDataBand.CreateUniqueName(); pDataBand.DataSet := frxDBDataset1; pDataBand.Top := 100; pDataBand.Height := 20; for i := 0 to clientdataset1.FieldCount-1 do begin / 将 Memo 添加到 DataBand 上 pMemo := TfrxMemoView.Create(pDataBand); pMemo.CreateUniqueName(); / 连接数据 pMemo.DataSet := frxDBDataset1; / 显示 username 字段 pMemo.DataField := clientDataset1.Fieldsi.FieldName; pMemo.SetBoun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论