我使用ado查询并通过dbgrid显示出来,只有三列,但最后一列却很宽,数据看不到,须手工拉一下,请问是怎么回事,该如何解决

解决方案 »

  1.   

    你还是先找出每一字段里所有数据的Length吧!
    然后再
    DBGrid1.Fields[0].DisplayWidth := LENGTH(dbgrid1.DataSource.DataSet.Fields[i].AsString)
      

  2.   

    要现成的控件,我可以告诉你,是Ehlib,DBGridEh有一个AutoFitColWidths属性,你设置为True即可.TDBGridEh.AutoFitColWidths:BooleanSpecifies whether the column widths automatically sets grid width equal to client width.
      

  3.   

    简单点的
    DBGrid1.Columns[1].Width:=60;你想要调的值; 上面是第一列的.改变参数就行了另外想要手工调整,则可双击DBGrid1的Columns进入 点击add all fields字段,然后选中每一个字段,调整其width
      

  4.   

    谢谢。我最后一个字段用的是sum(x+Y),不至于那么长吧,
    DBGrid1.Fields[0].DisplayWidth := LENGTH(dbgrid1.DataSource.DataSet.Fields[i].AsString)
    放在哪呢?谢谢