Extjs 交换Ext.grid.Panel中的行

Extjs 交换Ext.grid.Panel中的行,extjs,extjs4,Extjs,Extjs4,我有两个按钮:“上排”和“下排”网格 但我不理解如何操作存储中的订单行,并交换两行。我不喜欢使用: var store=getList().getStore(); var rec=store.getAt(index).copy(); store.removeAt(index); store.insert(index,rec); 我认为这是一个糟糕的解决方案。 附笔。 对不起,我的英语不好。首先你是对的:网格中的行顺序只能在商店中更改。 查看存储区的所有方法,除了删除一条记录并重新插入它之外,您

我有两个按钮:“上排”和“下排”网格

但我不理解如何操作存储中的订单行,并交换两行。我不喜欢使用:

var store=getList().getStore();
var rec=store.getAt(index).copy();
store.removeAt(index);
store.insert(index,rec);
我认为这是一个糟糕的解决方案。 附笔。
对不起,我的英语不好。

首先你是对的:网格中的行顺序只能在商店中更改。 查看存储区的所有方法,除了删除一条记录并重新插入它之外,您别无选择

但是,如果您有
store.autoLoad=true
,则在交换前后调用非常重要,这样就不会向服务器发送任何内容

您也可以尝试这个不错的插件:用于行的拖放重新排序

PS:使用
store.remove(rec)
而不是
store.removeAt(index)
cause removeAt将在内部调用remove

var store=getList().getStore();
var rec=store.getAt(index).copy();
store.removeAt(index);
store.insert(index,rec);