我有一个报表要打印,需求是这样的:
  因为备注有长有短,我在设置的时候把DETAIL带设置的比较宽-----
  这样不会有备注显示不出来。
  但是用户的的要求是如果某条记录的备注比较少,下面的空白太多要把空白给
  紧缩掉,我没有什么办法,请哪为帮我?

解决方案 »

  1.   

    AutoSize := False; 
    AutoStretch := True;對中文可能不支持,英文會表現得很好。
      

  2.   

    我不是太懂你的意思。
    這樣吧,把保存 Detail信息的 DBMemo放到一個獨立的Band 里,
    再加上我上面說的方法,
    在Band 的BeforePrint里修改Band 的高度為 DBMemo的高度。
      

  3.   

    我的意思是:两条记录之间用了SHARP控件,做成具有表格形式的报表;
    由于备注字段的原因现在每条记录都很宽(最长备注的高度);
    如果碰到了比较短的备注我想把表格的高度调整,这样打印的话界面没有太多的空白
    而且节省纸张。明白了吗?
      

  4.   

    beforeprint记下memo的高度
    再记下有内容时的MEMO高度
    然后SHARP根据MEMO的高度调整
    SHARP.HEIGHT:=SHARP.HEIGHT-高度差
    不知道行不行
      

  5.   

    TO:HP0773()
    就是不知道有内容时候的MEMO的高度如何记呢?
    因为它的高度是随着所取记录改变的啊?
    谁能帮忙啊
      

  6.   

    DBMemo 設計時取默認的高度與適當寬度,如
     DBMemo.Heigth := 21;
     DBMemo.Width := 150;
    后設置
     DBMemo.AutoSize := False;
      DBMemo.AutoStretch := True;在BeforePrint 寫如下代碼
      qrbMemo.Heigth := DBMemo.Heigth + 20;             // QRBand 加高
      qrshpLine.Top := DBMemo.Top + DBMemo.Heigth + 3;  // QRSharp 下移再試試。
      

  7.   

    微斯人你好:
        我想你明白我想要实现的功能:
        但是在DELPHI中没有DBMEMO,和QRBMEMO控件啊
        而且qrbMemo.Heigth := DBMemo.Heigth + 20:
        你是把高度增加20,但是我想它的高度应该是随着取出来的高度而定的;
    而且我还不明白DBMEMO,和QRBMEMO控件到底有什么关系呢?
    我的DELPHI6中没有这两个控件啊?
    谢谢你,非常感谢!!!!!
      

  8.   

    對不起,這是我的命名而已,實際控件是 QRMemo1 與 QRBand1。
    在Delphi6 安裝盤里你可以找到的QuickReport 安裝程序。
    好運.
      

  9.   

    http://www.csdn.net/cnshare/soft/15/15471.shtm