有没有简单的方法交换DBGrid或者Query中两行记录的显示顺序

kzy7517 2005-09-28 05:23:09
在DBGrid中显示有一数据表中的记录(记录还可以新增或删除),用户需要在前台调整记录的顺序,例如将条一行记录调整到第3行(整行所有数据),然后保存时,程序再重新根据用户调整后的记录顺序生成记录的顺序号。数据连接目前是用BDE(database+query+updatesql)。
希望有一种比较简单的解决方案,不用对数据进行太多的处理,最好只处理顺序号列的数据,其他列数据只是显示的顺序改变。
...全文
128 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jabmoon 2005-09-29
  • 打赏
  • 举报
回复
实际上你可以把后端的记录给改掉,然后让dbgrid重新进行排序,不过可能效率不高
lovendII 2005-09-29
  • 打赏
  • 举报
回复
增加一个字段用来排序,如果需要更改两行的排序顺序,就更改这两行的这个字段,
比如该字段为px,如果需要将原来的第二条与第三条倒个个来显示,则
把这两行的px字段的值交换一下就可以。
chenchangfu 2005-09-28
  • 打赏
  • 举报
回复
楼主可以设置DBGrid的属性,也可以DBGrid1.Options := DBGrid1.Options + [dgRowLines];
到退出窗口时,对排序更新数据库数据,打开数据集时对数据进行更新后的排序就可以了
coffee36 2005-09-28
  • 打赏
  • 举报
回复
放一个方向按扭,如果向上就把上一条记录的顺序号和当前记录的顺序号交换,然后重新排序,
楼主可以试试

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧