用帮定不好,也不好实现,
在 quickreport onneedata  里面编写代码
procedure TFrm.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
if DataModule2.SPOrders.eof=false then  //查询结果不为空时填写打印界面数据
  begin
      //fill data
      MoreData:=true;
      QRlProdId.Caption:=DataModule2.SPOrders.FieldByName('prodid').AsString;
      QRLProdName.Caption:=DataModule2.SPOrders.FieldByName('prodname').AsString;
      QRlColorName.Caption:=DataModule2.SPOrders.FieldByName('name').AsString;
      QRLAmount.Caption:=DataModule2.SPOrders.FieldByName('amount').AsString;
      QRLabel12.Caption:='';
      DataModule2.SPOrders.next;
      QuickRep1.QRPrinter.Progress:=(LocalOrderIdPosition+1)*100 div (SheetPrint.SelectOrderlist.Count);
  end
  else 查询结果为空
  begin
      if OpenNextOrderId=false then
       begin
         moredata:=false;
         QuickRep1.QRPrinter.Progress:=100;
       end
       else begin
         QuickRep1.NewPage;
         moredata:=true;
       end;
  end;
end;