我想请教各位高手一下,就是我想要在DBGridEh某行某列输入的内容超过这一行的宽度后,想要它自动换行全部显示出我要输入的内容,我该怎么做呢?谢谢!

解决方案 »

  1.   

    打开Columns设置对话框里,加入一列,有个WordWrap属性
      

  2.   

    我以前也找过好像没有,用Dev Express吧
      

  3.   

    不知道是否还有人关心Ehlib的dbGrideh的自动换行问题。
    通过例子,仔细考虑,终于解决。这个问题困扰我很长时间,但是一直没有办法解决,而且到网上查找,也没有很好的办法。现在已经找到,就共享出来,希望对别人不要想我这样,费几天时间才解决。设
    1.DBGridEh1.Columns[i].WordWrap:= True
    2.列的属性中设置WordWrap
    3.dghAutofitRowHight,dghAutofitRowHighttoText
    4.也试过 如下方法
    在DBGridEh的OnDrawColumn事件里自己写重绘代码:   
    var   
      Drect:TRect;   
    begin   
      if Column.FieldName='字段名' then   
      begin   
      Drect := rect;   
      DrawText(dbgrideh1.Canvas.Handle,pchar(Column.Field.AsString),length (Column.Field.AsString),rect,DT_WORDBREAK)   
      //dt_wordbreak是换行标记   
    end;   
    end;
    但是都不行。而看DBGridEh的例子是可以,为什么呢,终于明白,
    DBGridEh的Datasource要和Ehlib自带的TMemTableEh连接,那么问题就解决了。去试试吧。