现有一需求,需要由用户自由调整所选择记录显示的位置,类似于DataGridView中编辑列时,调整列的顺序。

我第一想法就是:增加一顺序字段[order_num] int;

假设E移动到A前面,则修改E[order_num]A[order_num],然后把从A-E中间的所有记录依次[order_num]+1.查询记录时按[order_num]排序,可以达到目的吧!

    同事提出一更简单的想法!增加一顺序字段[order_num] numeric(18,4); 如果E移动到A的前面,则直接修改E[order_num]=A[order_num]-0.0001;其它全不变。

查询时同样按[order_num]排序,也可以达到目的,而且仅修改一次。。。虽然这个方法如果移动次数大于1000次后顺序就不对了,但是不可能针对同一条记录修改1000次吧。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-22
  • 2021-07-13
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
  • 2021-09-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2021-07-08
相关资源
相似解决方案