如果你用的是永久性字段,可以将displaywidth改小一点;
如果直接再dbgrid中设计,可以在窗体上将dbgrid的列宽度拉小一点。

解决方案 »

  1.   

    网格重画的时候保留字段显示的大小
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    ///////Begin 保留
      if XXX[Column.Field.Index] < Canvas.TextWidth(Column.Field.DisplayText) then
        XXX[Column.Field.Index] := Canvas.TextWidth(Column.Field.DisplayText);
    ///////End 保留
    end;
      

  2.   

    对了,伴水,XXX[Column.Field.Index]是指的谁?是Dbgrid吗?
      

  3.   

    伴水兄: XXX[Column.Field.Index] 是什么?
      

  4.   

    XXX: array of Integer;SetLength(Table1.FieldList.Count);