bsp; TQRLabel(FDetail.Controls[j]).Caption:=''''''''; end; for j:=1 to FPageMaxLines*ParentReport.PageNumber-HasPrintedLines do // FPageMaxLines 页最大打印行数,外部传进来的变量 //ParentReport.PageNumber 总共打印的页数,因为只对最后一页进行控制, //所以当前的打印页数已经确定,可以直接取 begin Application.ProcessMessages; //begin 1 if ParentReport.QRPrinter.Cancelled then Exit; PrintGroupHeaders; PrintBeforeControllers; if assigned(FDetail) then FDetail.MakeSpace; NotifyClients(qrMasterDataAdvance); ParentReport.PrintBand(FDetail); PrintAfterControllers; //end 1 //从begin 1到这里的函数是直接COPY自2.0版本上的打印(此处应该有更加好的解决方法, //偶只是懒了一下,:) ) 其实这段用在2.0中也是没有问题DI end; //Add end end
end else begin MoreData := false; if assigned(FOnNeedDataEvent) and not (csDesigning in ComponentState) then OnNeedData(SelfCheck, MoreData); end; if CheckGroups then begin if DSOK then DataSet.Prior; PrintGroupFooters; if DSOK then DataSet.Next; end; if ParentReport is TQuickRep and DSOK and (TQuickRep(ParentReport).DataSet = DataSet) and (RecCount <> 0) then ParentReport.QRPrinter.Progress := (Longint(DetailNumber) * 100) div RecCount; end;