可以动态的画线再加数据,代码如下: var frmqcarcoderep: Tfrmqcarcoderep; qrlabel:array of array of tqrlabel; qrshape:array of array of tqrshape; fieldlen:integer;implementation{$R *.dfm} uses dayrep,mainform, qcarcode;... //////////////////////////////////////////////////////////////////////画线 procedure Tfrmqcarcoderep.FormCreate(Sender: TObject); fieldlen:=frmqcarcode.Query2.FieldCount; setlength(qrlabel,fieldlen,9); setlength(qrshape,fieldlen,9); if (2*fieldlen*24+20 )<902 then frmqcarcoderep.DetailBand1.Height :=fieldlen*24+20; for i:=0 to fieldlen-1 do for j:=0 to 8 do begin qrshape[i,j]:=tqrshape.create(quickrep1); with qrshape[i,j] do begin parent:=detailband1; left:=j*79; top:=i*24; height:=25; width:=80; enabled:=true; visible:=true; end; qrlabel[i,j]:=tqrlabel.create(quickrep1); with qrlabel[i,j] do begin parent:=detailband1; left:=j*79+2; top:=i*24+6; height:=16; width:=76; alignment:=tacenter; autosize:=false; caption:=''; enabled:=true; visible:=true; end; end;end;//////////////////////////////////////////////////////////////////////加数据procedure Tfrmqcarcoderep.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean); var i,j:integer; begin with frmqcarcode.Query2 do begin if EOF then begin moredata:=false; exit; end; moredata:=true; for i:=0 to fieldlen-1 do for j:=0 to 8 do qrlabel[i,j].caption:=''; for i:=0 to fieldlen-1 do qrlabel[i,0].caption:=fields[i].fieldname; for j:=1 to 8 do begin if eof then break; for i:=0 to fieldlen-1 do begin qrlabel[i,j].caption:=fieldbyname(fields[i].fieldname).asstring; end; next; end; end; end; 希望对你有点用处!
谢谢!
var
frmqcarcoderep: Tfrmqcarcoderep;
qrlabel:array of array of tqrlabel;
qrshape:array of array of tqrshape;
fieldlen:integer;implementation{$R *.dfm}
uses
dayrep,mainform, qcarcode;...
//////////////////////////////////////////////////////////////////////画线
procedure Tfrmqcarcoderep.FormCreate(Sender: TObject);
fieldlen:=frmqcarcode.Query2.FieldCount;
setlength(qrlabel,fieldlen,9);
setlength(qrshape,fieldlen,9);
if (2*fieldlen*24+20 )<902 then
frmqcarcoderep.DetailBand1.Height :=fieldlen*24+20;
for i:=0 to fieldlen-1 do
for j:=0 to 8 do
begin
qrshape[i,j]:=tqrshape.create(quickrep1);
with qrshape[i,j] do
begin
parent:=detailband1;
left:=j*79;
top:=i*24;
height:=25;
width:=80;
enabled:=true;
visible:=true;
end;
qrlabel[i,j]:=tqrlabel.create(quickrep1);
with qrlabel[i,j] do
begin
parent:=detailband1;
left:=j*79+2;
top:=i*24+6;
height:=16;
width:=76;
alignment:=tacenter;
autosize:=false;
caption:='';
enabled:=true;
visible:=true;
end;
end;end;//////////////////////////////////////////////////////////////////////加数据procedure Tfrmqcarcoderep.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
var i,j:integer;
begin
with frmqcarcode.Query2 do
begin
if EOF then
begin
moredata:=false;
exit;
end;
moredata:=true;
for i:=0 to fieldlen-1 do
for j:=0 to 8 do
qrlabel[i,j].caption:='';
for i:=0 to fieldlen-1 do
qrlabel[i,0].caption:=fields[i].fieldname;
for j:=1 to 8 do
begin
if eof then break;
for i:=0 to fieldlen-1 do
begin
qrlabel[i,j].caption:=fieldbyname(fields[i].fieldname).asstring;
end;
next;
end;
end;
end;
希望对你有点用处!