组合阵列移动

Combine array movements

当拖放列改变它们的顺序时,jqgrid 会触发 jqGridRemapColumns 给你一个移动的数组。示例 [0,1,5,2,3,4] 最后一个元素被移动到第三个位置。我想要做的是在会话之间保存这些转换,这样我就可以将列移回它们使用 remapColumns 时的顺序,它采用转换数组。

问题是在使用转换调用 remapColumns 时,然后在顶部应用了更多转换。由于 jqGridRemapColumns 不 return 具有先前转换的数组只有新的转换。所以保存的数组被覆盖,只保存最新的转换。

我如何组合两个数组,如 [0,1,5,2,3,4](将最后一个元素移到第三个)和 [0,2,3,4,1,5](将第二个元素移到倒数第二个)以获得 [0,5,2,3,1,4]

我建议您保存列的名称,而不是列的索引。看一个例子 the demo from 。它应该可以解决列的多次重新排序的所有问题。

所以我最后做的是对第二个数组进行排序,同时跟踪排序动作。然后将这些动作以相反的顺序应用到第一个数组。这工作得很好,我只需要将数组列表保存到数据库中。