procedure Tform1.Creatcolumns(aDs : TDataset);
var index, index2 : integer;
Column : TGridColumn;
Value : string;
begin
for index := 0 to aDs.FieldDefs.Count - 1 do
begin
Value := '';
Column := TGridColumn.Create(SGrid.Columns);
Column.Title.Caption := aDs.FieldDefs[index].DisplayName;
if aDs.FieldDefs[index].DataType = ftstring then
begin
for index2 := 1 to aDs.FieldDefs[index].Size do
Value := Value + 'D';
Column.Width := sgrid.canvas.TextWidth(Value);
end;
end;
sgrid.ColWidths[0] := 15;
end;