dbgrid排序,不用第三方控件,点TITLE能升降排序

解决方案 »

  1.   


    procedure Tcompanybrows.DBGrid1TitleClick(Column: TColumn);
    var
        gs:string;
    begin
        gs:=column.fieldname;
        DataSource1.DataSet.DisableControls;
        with Query1 do
        begin
            close;
            sql.Clear;
            sql.Add('select * from tablename order by '+gs);
            open;
        end;
        DataSource1.DataSet.EnableControls;
    end;
      

  2.   

    procedure Tcompanybrows.DBGrid1TitleClick(Column: TColumn);
    begin
        with Query1 do
        begin
            close;
            sql.Clear;
            sql.Add('select * from tablename order by '+column.fieldname;);
            open;
        end;
    end;
      

  3.   

    http://www.csdn.net/expert/topic/1009/1009697.xml?temp=.3748285
      

  4.   

    使用adoquery控件
    procedure Tcompanybrows.DBGrid1TitleClick(Column: TColumn);
    begin
       adoquery.sort=column.FieldName
    end;