在Dbgrid中排序,只是对虚表进行排序,但是在物理表中并没有改变。所以,对数据库加索引来排序不是很好,最好进行物理排序。

解决方案 »

  1.   

    你用table的话,那么dbgrid里面显示的字段的顺序就是你的数据在你的数据库里面的顺序,所以你要排序的话,到你的数据库里,把这个字段按你要的顺序排序就可以了,你真是好菜啊。
      

  2.   

    可以这样排序:
    Table1.IndexFieldNames := 'id'
    Table1.IndexFieldNames := 'id;type;code'
      

  3.   

    忘了说,id, type, code是需要排序的字段
      

  4.   

    可以在建数据库表的同时建立主要索引字段和次要索引字段,这样就能使你的DBGRID按主要和次要索引字段进行排序了
      

  5.   

    索引可以提高访问的速度的
    当然如果你不想使用索引就使用Query
    select * from tablename group by fieldname1 order by  fieldname2(desc)
      

  6.   

    为什么不用ado
    why why??
      

  7.   

    用了ADOQUERY就什么问题都解决了,为什么非要用TABLE呢???
      

  8.   

    老大不用ado啦
    如果能有ADO我也早高定了
      

  9.   

    还是到delphibbs.com上去看看吧,记不清了,好像是在在dbgrid的ontitleclick事件中利用一个sort函数来对某个字段进行排序,当然并不是对物理表进行排序了。