我想打印一个公司的工资报表,该公司有若干个部门,每个部门有若干个成员.我在QuickReport中用到一个QRGroup(以部门做为分组条件),一个rbDetail,一个rbGroupFooter就可以搞定,打印的时候会每个部门为分组,打印出每个部门成员的工资的表格.现在的问题是想在分组后,在rbDetail)中多打印几个空记录怎么弄???
如果单个部门单个部门打印的话,可以在QuickReport中在NeedData事件中写代码控制,打印出空行.
现在的要求是:
    表格固定为15行,如果记录数小于15,则后面补空行.如果大于15,比如20条记录,则先打印出15行,接着一个表格,再打印出10个空行.)
    如何实现啊....各位大哥救救小弟啊.....
    急着用啊.不然要被扣工资了....

解决方案 »

  1.   

    不满一页用空格填满:        inc(i);//i是一個全局變量 
    //qr不要設置dataset(即為空),BeforePrin裡面dataset.first;//設置為第一記錄
    //在onneeddata裡面,
    //因為以前搞過,都過了比較久了,你試試看看行不行
            if not ADOQuery1.Eof then
            begin
                    QRLabel2.Caption:=ADOQuery1.Fields[1].AsString;
                    QRLabel3.Caption:=ADOQuery1.FieldByName('SL').AsString;//+ADOQuery1.FieldByName('DW').AsString;
                    ADOQuery1.Next;                if i<=20 then
                    MoreData:=true
                    else
                    begin
                    QuickRep1.NewColumn;
                    i:=0;
                    MoreData:=true;
                    end;
            end
            else
            begin
                    QRLabel2.Caption:='';
                    QRLabel3.CaptioN:='';                if i=20 then
                    MoreData:=false;
            end;
      

  2.   

    在你QRGroup上设置FORCENEWPAGE=TRUE就可以了。
      

  3.   

    我觉得你的要求是每15条记录分一组。这样的话你可以在打印第16条的时候打相应高度的空白,不就把表格分开了吗,Quickreport控制起来还是比较灵活的。
      

  4.   

    http://www.fjforest.com/mp3/a.jpg
    http://www.fjforest.com/mp3/b.jpg
    这个是我要的结果,请大哥们看看就明白我的要求了.
    拜托大家帮帮忙了.
      

  5.   

    看到你的图了,把我上面说的空白换成表头就行了吧,在OnBeforePrint里控制。可能麻烦点,也没办法。我觉得这么弄真是没什么必要,你是用标准纸打印吗?还是用这种单据的专用纸?
      

  6.   

    收到你的短信过来的,看看我的一个方法能否帮助你,
    我有一个方法,也许不是最佳方法,但可以值得你试试:
    你首先将数据库中的数据导入到一张临时表中,
    然后对临时表中的数据进行检查,检查是否某个部门的记录小于15条,
    如果一个部门的记录少于15条,那你就在临时表中,对这个部门添加几条空记录,
    补足15条,然后你的quickreport报表从你的临时表中取数据打印,
    这样就会满足你的要求了。
    如果还有什么具体的要求,
    你可以自己再调整一下,
    这个思路应该是正确的。
      

  7.   

    在你QRGroup上设置FORCENEWPAGE=TRUE不行吗?
      

  8.   

    没有人回答了吗?
    难到QuickReport实现这样的功能很难吗??????