在DBGrid的事件TitleClick中写如下代码就行了,
我用的是MemTableEh,你们可以根据自己的习惯,看用的是哪个返回值是DataSet的控件了,不管哪个都应该有其想应的排序方法了,如下面写就OK了,没他们说的写的那么麻烦if Copy(MemTableEh1.SortOrder,Length(Column.FieldName)+2,1) = 'A' then
    MemTableEh1.SortOrder := Column.FieldName + ' DESC'
  else
    MemTableEh1.SortOrder := Column.FieldName + ' ASC';