我是想让DBGRID在显示的时候能够根据内容自动分行显示。即一行显示不下的就分几行显示出来。
eg:某行记录的某字段内容为:中华人民共和国我爱你!中华人民共和国我爱你!中华人民共和国我爱你!中华人民共和国我爱你!中华人民共和国我爱你!
一行是肯定显示不下的,能否让它自动分成几行,全部把内容显示出来。谢谢,急急急!
eg:某行记录的某字段内容为:中华人民共和国我爱你!中华人民共和国我爱你!中华人民共和国我爱你!中华人民共和国我爱你!中华人民共和国我爱你!
一行是肯定显示不下的,能否让它自动分成几行,全部把内容显示出来。谢谢,急急急!
http://p.blog.csdn.net/images/p_blog_csdn_net/Alphen/EntryImages/20080903/Snap5.jpg
通过例子,仔细考虑,终于解决。
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连接,那么问题就解决了。去试试吧。