我先举个例子:
  A4的报表Size是210*297,也就是宽210mm,高297mm.当用A4的格式设计报表时,就算打印的记录数只有一条时,打印机也会走纸297mm,这样就会很浪费纸,所以呢,就希望根据打印的记录数来决定打印机的走纸长度,比如说,一条记录走40mm,两条记录就走80mm......,走纸到最后一条记录数时,打印机就停止走纸。 我知道需要用到FastReport中的自定义报表(Size=Custom),但是自定义报表格式时,你还是要指定一个具体的报表高度(Height),这不符合我的初衷。也有人建议这样做:
frreport.Pages.pages[0].pgHeight:=frreport1.Pages.pages[0].pgHeight+20*rquery.RecordCount;
  这句话的意思是达到了我的目的,可是如何与自定义报表结合?应该将这句话写在打印报表的哪个事件里呢?小弟不是很不明白,还请大家给点意见!!

解决方案 »

  1.   

    To: Rail100(每逢佳节倍思春) 谢谢你,我试过了,不行的,页长还是最初所设的固定值,并没有随着记录数动态的改变。
      

  2.   

    楼主可以分开调整高度的,也就是说分别调整各个band的高度!
      

  3.   

    To:bmwyc(汗血宝马)   问题的关键不是其他band的高度,而是要随着记录数动态的改变MasterData的高度,不希望MasterData在打印后总是一个固定高度,希望根据打印的记录数来决定打印机的走纸长度
      

  4.   

    你搜索一下POS这个关键字,看看那些超市打印小票的程序是怎么控制打印机按行打印数据的。