默认的就是自动适应,如果DBGrid中的列宽度大于Dataset中字段宽度,那么将用DBGrid的列宽度,如果小于Dataset的字段宽度那么显示出来的就是DataSet的宽度。
所以你可以调整DataSet的字段宽度来调整Dbgrid的宽度。比如Name字段定义为50个字符,但是一般只有3个左右的汉字那么你就先求出Name的最长长度,然后将字段的宽度设成3或4

解决方案 »

  1.   

    用Ehlib不就好吗,省心省事。
      

  2.   

    在Ehlib中设置AutoFitColWidths为True即可。强烈建议朋友们使用新的控件时多看帮助跟自带的Demo,不要每个问题都刨根问底,这样自己是得不到提高的。
      

  3.   

    forgot(让一切随风) :
    对不起!我不是指列宽与数据库表字段长度自动适应。我的意思是:我检索出的数据长度可能超过一列的显示宽度,dbgrid可不可以作到自动将列宽调整到本列最长的数据宽度上以便让这个数据全部看清!
      

  4.   

    我觉得我已经说的很清楚了啊?Field类的DisplayWith属性
    你的最长宽度是120个字符你就设120 你的最长是10个字符就设10
      

  5.   

    我的意思是:
    类似资源管理器,当你将一列缩小,小到使这一列某些行的内容不能全部显示,然后双击两列交界处,那么这一列被遮住的内容又全部显示出来了,我的意思是这种效果dbgrid或Ehlib可否实现?谢谢!!!
      

  6.   

    是不是想要那种hint的形式来显示过长的信息阿?
      

  7.   

    好象这方面没什么好方法。delphi没有这方面的功能。