我用qreport设计的报表一页打印20条记录 我现在想这样设计如果没有20条记录 那么余下的部分也有表格 我用了onneeddata 程序如下 不好用 请指点
procedure TForm3.DetailBand1AfterPrint(Sender: TQRCustomBand;
BandPrinted: Boolean);
begin
i:=i+1;
end;procedure TForm3.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
if not form2.ADOQuery1.Eof then
begin
if i<20 then
begin
moredata:=true;
end
else
begin
quickrep1.NewPage;
i:=0;
moredata:=true;
end;
end
else
begin
moredata:=true;
if i=20 then
moredata:=false;
end;
end;procedure TForm3.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
i:=0;
end;
procedure TForm3.DetailBand1AfterPrint(Sender: TQRCustomBand;
BandPrinted: Boolean);
begin
i:=i+1;
end;procedure TForm3.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
if not form2.ADOQuery1.Eof then
begin
if i<20 then
begin
moredata:=true;
end
else
begin
quickrep1.NewPage;
i:=0;
moredata:=true;
end;
end
else
begin
moredata:=true;
if i=20 then
moredata:=false;
end;
end;procedure TForm3.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
i:=0;
end;
QuickRep1.Page.Length := 75 + ADOQuery1.RecordCount*6.5;
if QuickRep1.Page.Length > 250 then QuickRep1.Page.Length := 250;