如何永久更改网格中记录的位置

时间:2016-12-09 12:10:44

标签: extjs6-classic

我在更改在网格中移位的记录的位置时遇到问题。我已将箭头添加到列中并编写如下处理程序:

{
text: "Down",
width : 80,
xtype: 'actioncolumn',
tdCls : "row-shifter",
icon: appContext + "/images/arrow-dark-down-40.png",
handler: function(grid,index,c,d,f,row){
   if(index >= grid.all.endIndex){
      return;
   }
             index++;
             grid.store.remove(row, true);
             grid.getStore().insert(index, row);
},
   dataIndex : "Down",
   textResource : "Down"
}

当我单击箭头按钮时,行正确移动但当我更改显示的页面(通过分页)时,旧的记录顺序又回来了。我该怎么做才能永久改变?

1 个答案:

答案 0 :(得分:0)

我建议采用新方法......您应该为您的模型设置一个新字段,并将其命名为“#order;'例如,使用类型'数字',然后将分拣机添加到商店以按此新字段排序。 在你的处理程序中,只需根据方向为记录的order字段设置一个新值(add for up,subtract for down),你就可以对行进行向上和向下的影响。这也将正确处理分页。 如果使用行保存订单字段,则更容易恢复行顺序。