通过ADOQuery控件的Sort属性,配合DBGrid的OnTitleClick事件,可以方便地实现此功能。Sort属性可以让活动数据集按指定的字段进行排序,与SQL语句Order后面的写法一样(升序ASC/降序DESC)。
Form1;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
I: Integer;
begin
// 恢复所有标题字体为默认
for I := 1 to DBGrid1.Columns.Count do
begin
DBGrid1.Columns[I - 1].Title.Font.Color := clWindowText;
DBGrid1.Columns