可以不在grid里想办法,到datasource/dataset里

解决方案 »

  1.   

    select name,age,salary
    from table1
    order by name
      

  2.   

    能做到,但用INFOPOWER中的wwDBGrid控件很容易,设置wwDBGrid1.TitleButtons:=True;
    设置OnTitleButtonClick事件,其中有AFieldName:String参数即是字段名。排序可以用select name,age,salary from table1 order by name,
    或用TAdoDataset中的sort属性,
    如ADODataSet1.Sort := 'Name ASC,Salary DESC'
      

  3.   

    procedure TForm1.DBGrid1TitleClick(Column: TColumn);
    var
      s : string;
    begin
      s := Column.FieldName;
      Table1.IndexFieldNames := s;
    end;