我这儿有一个例子,是动态把表中的字段制作报表:
是一个工资程序:
frReport1.Pages.Clear;
frReport1.Pages.Add;
Page := frReport1.Pages[0];
b := TfrBandView(frCreateObject(gtBand, ''));
b.SetBounds(20, 20, 0, 60);
b.BandType := btpageheader;
Page.Objects.Add(b);
v := frCreateObject(gtMemo, '');
v.SetBounds(20,40, 400, 32);
v.Memo.Add(title_rep);
TfrMemoView(v).Font.Name:='黑体';
TfrMemoView(v).Font.Size:=14;
TfrMemoView(v).BandAlign:=bacenter;
Page.Objects.Add(v);
b := TfrBandView(frCreateObject(gtBand, ''));
b.SetBounds(20, 140, 20, 68);
b.BandType := btMasterData;
b.Dataset := 'frDBDataSet1';
Page.Objects.Add(b);
gz_x:=20;
for I:=0 to gz.FieldCount-1 do
begin
gz_xm:=trim(gz.Fields.FieldName);
v := frCreateObject(gtMemo, '');
v.SetBounds(gz_x,140, 50, 32);
v.Memo.Add(gz_xm);
TfrMemoView(v).Font.Name:='宋体';
TfrMemoView(v).Font.Size:=9;
TfrMemoView(v).FrameTyp:=15;
TfrMemoView(v).Alignment:=frtamiddle+frtacenter;
Page.Objects.Add(v);
v := frCreateObject(gtMemo, '');
v.SetBounds(gz_x,172, 50, 16);
v.Memo.Add('[gz."'+gz_xm+'"]');
TfrMemoView(v).Font.Name:='宋体';
TfrMemoView(v).Font.Size:=9;
TfrMemoView(v).FrameTyp:=15;
TfrMemoView(v).Alignment:=frtamiddle+frtaright;
Page.Objects.Add(v);
gz_x:=gz_x+50;
end;
frReport1.ShowReport;