重写SQL语句,用到:order by   然后刷新。

解决方案 »

  1.   

    procedure TForm1.DBGrid1TitleClick(Column: TColumn);
    with TQuery(datasource.dataset) do
    begin
       Close;
       SQL.clear;
       SQL.add('select * from table order by '+Column.Field.FieldName);
       open;
    end;
      

  2.   

    如果不重写SQL语句可以吗?小弟是想不重写SQL语句!
      

  3.   

    DBGrid1Boolean:  boolean;  //全局变量
     
    ADOTable1:  TADOTable;
      
    procedure  TForm1MainMenu.DBGrid1TitleClick(Column:  TColumn);
    begin
        with  ADOTable1  do    
        begin  
            if  DBGrid1Boolean  then
                TADOTable(ADOTable1).Sort  :=  Column.FieldName  +  '  DESC'
            else
                TADOTable(ADOTable1).Sort  :=  Column.FieldName;
            DBGrid1Boolean  :=  not(DBGrid1Boolean);
        end;
    end;
      

  4.   

    我所需要的效果是不重写SQL语句,不用Table,不刷新数据而是重新整理数据,直接重新排序!还是谢谢各位!