如何在 Ext JS 存储中更新单个记录



我的问题是,如果我在编辑后编辑第 2 或第 3 页上的任何记录/行的信息,或者在编辑后的任何页面,它会将我带回第一页,而不是在更新记录/行后将其带到同一页面。我认为这是因为网格的商店获得更新并且网格专注于第一页)。

我想在本地更新存储记录和网格视图行。 这就是为什么在更新记录后我可以保留相同的网格页面。

有什么好的选择吗?

更新记录后,您需要调用 store.reload() 而不是 store.load()。

var me = this;
record.save({
  scope: this,
  success: function(record) {
    me.reloadGrid(record);
  },
  failure: function(record, operation) {}
});
reloadGrid: function(record){
  var gridStore; /*Get the reference to the grid store here*/
  gridStore.reload();
}

重新加载将保留所有现有的存储参数,例如页码、开始、限制等。如果要加载特定页面,请执行以下操作

reloadGrid: function(record){
  var gridStore; /*Get the reference to the grid store here*/
  gridStore.loadPage(3);
}

当然,如果您实际上没有以影响商店排序顺序的方式编辑记录,这将起作用。在这种情况下,您的商店将根据排序属性进行排序,并且记录可以出现在任何页面上的任何位置。

最新更新