如果你是用detailband输出你检索得到的记录的话,你要检查一下你的detailband是否高度过大或者报表剩余的空间已经不能再放下7条记录。或许你检查一下quickrep的forcenewpage这些属性是否变成了true,这样也有影响

解决方案 »

  1.   

    同意楼上,如果你用quickrep的话,你可以在onneeddata中写适当的代码控制翻页。
      

  2.   

    同意楼上fenglin2000(风林2000)的解法
    在onneeddata事件中写代码
    下面是我以前程式的代码, 不很好各位兄弟别见笑
    procedure TFGatheringReceipt10.NeedData(Sender: TObject;
      var MoreData: Boolean);
    begin
      inherited;
      nowrow:=nowrow+1;
      moredata:=(nowRow<=nowdbgrid.SelectedRows.count)or(nowrow mod 4<>1);
      if moredata then
      begin
        if (nowrow mod 4 =1)and(nowrow<>1) then
          QuickRep1.NewColumn;//我记得有一段时间无"and(nowrow<>1)"时
          //NewColumn会报错,不知是否因为未安装打印机
        if nowRow<=nowdbgrid.selectedrows.count then
          Nowquery.gotobook(pointer(nowdbgrid.SelectedRows.items[nowRow-1]));
        //assign value to all qrlabel
        QuickRep1.QRPrinter.Progress:=QuickRep1.QRPrinter.Progress+1;
      end
      else
        QuickRep1.QRPrinter.Progress:=QuickRep1.QRPrinter.Progress+1;end;
      

  3.   

    我试了一下cbtianbo(三飞)的方法,好象不太行。
    或者请cbtianbo(三飞)再详细一点吧
      

  4.   

    我是用的quickrep
    如果要自己控制,请问如何做到?
      

  5.   

    很简单,你可以放置一个QRSubDetail,将其dataset值设为你要打印的query,调整其宽度为每页的五分之一,然后在QRSubDetail里面放置你要打印的内容即可。
      

  6.   

    如果用detailband,根据quickrep里的page里的相应设置调整它的高度也可以达到,原理和janb()说的一样
      

  7.   

    使用formula one
    很爽的
    类似excel