|
发表于 2015-12-23 11:32:56
|
显示全部楼层
data组件中 交换行的方法是exchangeRow
获取行索引的方法是 getRowIndex
循环的方法是each
举个例子:
比如,你data组件中数据一共有5行,
第一次,你拖动第5行的数据时,可以得到当前行的索引是5,需要记录下来
然后你放到了第2行上了!这个时候就要使用each进行循环,依次将第5行数据 使用exchangeRow 方法和第4行,第三行,第二行经行交换!这是后依次记录下第四行,第三行和第二行的索引依次变成了3.4.5
第5行数据的索引就变成了2
可以用一个二维数组表示
第二维的数组中,第一个值表示当前在的索引,第二个值表示,最初data中行的索引
比如上述5个行的索引,初始时数据是这样的
[[0,0],[1,1],[2,2],[3,3],[4,4]]
当第5行变成第2行的时候,操作完成后就变成
[[0,0],[1,4],[2,1],[3,2],[4,3]]
数组中:第一个值,表示此时数据索引:01234
第二个值,表示曾经初始值索引:04123
下次又执行了一次把第5行变成第2行的操作
这个时候就变成了
[[0,0],[1,3],[2,4],[3,1],[4,2]]
曾经的索引值数据就是这样排序的了03412
(你可以画图看看,就应该能理解)
你需要做的就是通过代码维护这个数组,保证能通过当前行的索引获取到初始状态的索引值
然后,下次加载data数据完毕后,通过这个数组把原来的索引行重新排序成这个数组中记录的情况
至于代码哪儿不会写了!可以具体提问!帮您
因为逻辑比较复杂,我就不写了!呵呵
|
|