调整DBGrid中列的宽度

时间:2014-03-21 12:22:52

标签: delphi dbgrid

我是delphi的新手:)。我做了一个简单的应用程序,能够从SQL服务器数据库写入和读取。我在DBGrid中显示查询结果。

目前,我的数据库中只有3列(ID,Name,Surname)。 DBGrid将它们显示在我不喜欢的waz中。我可以看到ID(它的宽度是准确的)和Name,它一直向右拉伸,所以我必须使用水平滚动条来查看Surname,它也非常宽。

如何告诉DBGrid将列的宽度调整为最宽的行?

我的应用看起来像这样:

 implementation

 {$R *.dfm}

 procedure TForm1.Button1Click(Sender: TObject);

 begin

 ADOQuery1.SQL.Text := 'INSERT INTO [dbo].[client] ([Meno],[Priezvisko]) ' +
                  'VALUES(:Meno, :Priezvisko)';
 ADOQuery1.Parameters.ParamByName('Meno').Value := Edit1.Text;
 ADOQuery1.Parameters.ParamByName('Priezvisko').Value := Edit2.Text;
 ADOQuery1.ExecSQL;

 end;

 procedure TForm1.Button2Click(Sender: TObject);
 begin

 ADOQuery2.SQL.Text := 'SELECT * FROM [dbo].[client] WHERE Meno = :Meno';
 ADOQuery2.Active := True;
 ADOQuery2.Parameters.ParamByName('Meno').Value := Edit1.Text;
 ADOQuery2.ExecSQL;
 end;

 end.

我找到了这个TUTORIAL,但根据这个,你双击选择的coumn来调整它的宽度,我也遇到了这条线的问题

 ColumnWidthHelper.MaxWidth := Max(ColumnWidthHelper.MaxWidth, DBGrid1.Canvas.TextWidth(Column.Field.DisplayText)) ;

无法识别Max功能

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

Max功能位于Math单元中。将其添加到您的Uses子句中。