在DBGrid中显示有一数据表中的记录(记录还可以新增或删除),用户需要在前台调整记录的顺序,例如将条一行记录调整到第3行(整行所有数据),然后保存时,程序再重新根据用户调整后的记录顺序生成记录的顺序号。数据连接目前是用BDE(database+query+updatesql)。
希望有一种比较简单的解决方案,不用对数据进行太多的处理,最好只处理顺序号列的数据,其他列数据只是显示的顺序改变。

解决方案 »

  1.   

    楼主可以设置DBGrid的属性,也可以DBGrid1.Options := DBGrid1.Options + [dgRowLines];
    到退出窗口时,对排序更新数据库数据,打开数据集时对数据进行更新后的排序就可以了
      

  2.   

    增加一个字段用来排序,如果需要更改两行的排序顺序,就更改这两行的这个字段,
    比如该字段为px,如果需要将原来的第二条与第三条倒个个来显示,则
    把这两行的px字段的值交换一下就可以。
      

  3.   

    实际上你可以把后端的记录给改掉,然后让dbgrid重新进行排序,不过可能效率不高