调用OptimizeWidth方法
for( int i=0;i<DBGridEh1->Columns->Count;i++ )
DBGridEh1->Columns->Items[i]->OptimizeWidth();
OptimizeColsWidth
对于char类型的字段,例如char(100),可能实际没有存放100字节,eh计算字段的宽度是100,加了个trim函数就好了,效果不错
D:\Program Files\Borland\Delphi7\Source\ehl.5013\Delphi7\DBGridEh.pas
OptimizeColsWidth函数中修就可以了
procedure TCustomDBGridEh.OptimizeColsWidth(ColumnsList: TColumnsEhList);
CalcDataWidth
ARect := Rect(0,0,0,FStdDefaultRowHeight);
S :=Trim( Column.DisplayText);//就是这句话