如果一个数据的很长,在一个QRDBText中不能完整显示,若设QRDBText的AutoStretch属性为True,又可能在一个格子里放不下,怎么办?
另外,我的表格在预览时,行与行之间有时会莫名其妙的多一条缝隙,不知怎么回事?

解决方案 »

  1.   

    1、AutoStretch属性对于非英文并不能很好的处理,可以考虑用Memo或者RichText
    2、QReport的预览有一些问题,但是正式打印出来后一般是正常的。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    lxpbuaa(桂枝香在故国晚秋)
    用memo或richtext也会在控件中显示不完全,能打印出完整的数据吗?
    例如像下面的写回复的也是一个memo,若回复很多,需要用滚动条上下移动来看memo未显示完的数据,但打印的时候能把所有的数据全部显示出来吗?
      

  3.   

    你需要显示的数据到底有多长? 如果在你可以接受的范围内。可以判断字符串的长度。然后改用qrlabel来代替qrdbtext。 大不了多写几行qrlabel。 不过需要手动赋值而已。 也不是很麻烦。
    放在detail 的beforeprint事件里写就行了。
      

  4.   

    简单呀,TQRRichText.Lines 有个Count属性,你在该TQRRichText所在的Band的BeforePrint事件里把该Field的值赋给TQRRichText,TQRRichText自动会调整出多少行来的。然后调整TQRRichText的高度为一行的高度*Count,再调整Band的高度为XXX你自己想想怎么调整了。这个非常简单。
      

  5.   

    hxshun(Shun)
    你的意思是说把每一行的高度都设宽?
    那要是有一条数据很短,那不是会有很大的空档
    能不能这样,一条数据很长,就把这一行的高度加大
    其他的不变?
      

  6.   

    不明白我的意思吗?
    在BeforePrint事件一开始先把Band和TQRRichText的高度调整到TQRRichText没有数据时的高度,然后再:
    ------------
    简单呀,TQRRichText.Lines 有个Count属性,你在该TQRRichText所在的Band的BeforePrint事件里把该Field的值赋给TQRRichText,TQRRichText自动会调整出多少行来的。然后调整TQRRichText的高度为TQRRichText一行的高度*TQRRichText.Lines.Count,再调整Band的高度为XXX你自己想想怎么调整了。这个非常简单。
    ------------
    是否明白?