|第1列  |  2     |   3    |   4    |   5       |
| 1行   |        |        |        |           |
-----------------------------------------------
| 2行   |        |        |        |           |
|       |        |        |        |           |
-----------------------------------------------
| 3行   |        |        |        |           |
|       |        |        |        |           |
-----------------------------------------------
|       |        |        |        |           |
|       |        |        |        |           |
------------------------------------------------
一页固定10个行,然后输入打印,如果数据库中只有8条记录,有两个空行也照样输出。

解决方案 »

  1.   

    用quickreport1。printer.cavs.text函数结合记录表循环。
      

  2.   

    在onneedData事件里面處理
    var i:integer;//全局begin
            inc(i);
            if i<10 then
            begin
                    if not D.ADOQuery1.Eof then
                    begin
                            with D.ADOQuery1 do
                            begin
                                    qrlabel9.Caption :=FieldByName('KDH').AsString;
                                    next;
                           end;
                    end
                    else
                    qrlabel9.caption:='';                MoreData:=false;
            end
            else
            if not D.ADOQuery1.Eof then
            self.newcolumn
            else
            moreData:=false;
    end;
      

  3.   

    不用这么复杂吧?1.纸张大小不用说,必须与实际一样大小,表必须有HEARER、DETAIL、FOOTER。HEADER和FOOTER的高度主要的作用是调节DETAIL的上下位置及在一张纸内可以打印几条记录.调整好DETAIL的高度.
    2.在DETAIL中加几个QRSHAPE,主要是加表格列线,设置如:TOP=0,HEIGHT=10行记录的高度,调整一下位置.
    这样就可以实现你的要求