FastReport4 动态报表制作

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

FastReport4 动态报表制作

注:

1、窗体报表控件FR:TfrxReport;frDB:TfrxDBDataset

2、调用自定义函数:GetPrnFieldWidth(ADOQ_List); //取得查询结果中各字段宽度

3、全局变量:Prn_FieldWidth: Array of integer; //打印时各字段宽度数组

通过GetPrnFieldWidth修改其值

4、uses PRINTERS;

代码:

procedureTFrm_yppf_prn_pfd.ToolButton3Click(Sender: TObject);

Var

//DataPage: TfrxDataPage;

Page: TfrxReportPage;

PageTitle:TfrxReportTitle;

PageHeader:TfrxPageHeader;

//Band: TfrxBand;

MastData: TfrxMasterData;

PageSummary:TfrxReportSummary;

Memo: TfrxMemoView;

i:integer;

MLeft:Real;//表头字段在mastdata中的左边距

PaperWidth:Real; //纯报表(不含边距)宽度(毫米)

begin

//清除报表

FR.Clear;

//1====添加页

Page:=TfrxReportPage.Create(FR);

Page.CreateUniqueName;//创建唯一名称

//Page.SetDefaults;//设置默认字段大小, 纸张

//自定义纸张大小

//Page.PaperWidth:=210; //纸张宽

//Page.PaperHeight:=297;//纸张高

Page.PaperSize:=9;//a4纸

Page.Orientation:=poPortrait; //纸张纵向

//Page.Orientation:=poLandscape; //纸张横向

Page.TopMargin:=25;//上边距

Page.BottomMargin:=15;

Page.LeftMargin:=15;

Page.RightMargin:=15;

//2====添加一个报表标题栏

PageTitle:=TfrxReportTitle.Create(Page);

PageTitle.CreateUniqueName;

PageTitle.Top:=0;

PageTitle.Height:=140; //留出空白行

//得到报表不含边距的宽度(毫米)转换为像素时需乘以3.77953

//SetBounds中用的是像素值

PaperWidth:=(Page.PaperWidth-page.LeftMargin-page.RightMargin)*3.77953; //添加标题memo

Memo:= TfrxMemoView.Create(PageTitle);

Memo.CreateUniqueName;

Memo.HAlign:=haCenter;//左右居中

Memo.VAlign:=vaCenter;//上下居中

Memo.Font.Size:=14;

Memo.Text := '药品批发单';

Memo.Height := 40;

Memo.Align:=baWidth;//伸展坐标到标题栏的宽度

//摘要第一行

Memo:= TfrxMemoView.Create(PageTitle);

Memo.CreateUniqueName;

Memo.HAlign:=haLeft;//左右居中

Memo.VAlign:=vaCenter;//上下居中

Memo.Text := '单号:'+LEdit_dh.Hint;

Memo.Height := 20;

Memo.Frame.Typ:=[ftLeft,ftRight,ftTop,ftBottom];//显示边线

Memo.SetBounds(0,60,PaperWidth/3,20);

//

Memo:= TfrxMemoView.Create(PageTitle);

Memo.CreateUniqueName;

Memo.HAlign:=haLeft;//左右居中

Memo.VAlign:=vaCenter;//上下居中

Memo.Text := '单位:'+LEdit_dwmc.Text;

Memo.Height := 20;

Memo.Frame.Typ:=[ftLeft,ftRight,ftTop,ftBottom];//显示边线Memo.SetBounds(PaperWidth/3,60,PaperWidth/3,20);

//

Memo:= TfrxMemoView.Create(PageTitle);

Memo.CreateUniqueName;

Memo.HAlign:=haLeft;//左右居中

Memo.VAlign:=vaCenter;//上下居中

Memo.Text := '批发金额:'+LEdit_SumPfj.Text;

Memo.Height := 20;

Memo.Frame.Typ:=[ftLeft,ftRight,ftTop,ftBottom];//显示边线Memo.SetBounds(PaperWidth/3*2,60,PaperWidth/3,20); //摘要第二行

Memo:= TfrxMemoView.Create(PageTitle);

Memo.CreateUniqueName;

Memo.HAlign:=haLeft;//左右居中

Memo.VAlign:=vaCenter;//上下居中

Memo.Text := '结算方式:'+LEdit_jsfsmc.Text;

相关文档
最新文档