我尝试实现一个像this example一般的rowediting网格,区别在于我希望将更改与服务器后端同步。到现在为止,我可以添加一个新的行onRoweditAdd
。带同步的rowedit网格
Ext.define('Mb.view.base.RoweditListController', {
extend: 'Ext.app.ViewController',
alias: 'controller.roweditlist',
onRoweditAdd: function(me){
var grid = me.up('panel'),
edit = grid.editingPlugin,
store = grid.getStore(),
record = store.getModel().create({id: 0});
edit.cancelEdit()
store.insert(0, record)
edit.startEdit(record, 0)
},
editRowedit: function(editor, ctx) {
var store = ctx.grid.getStore();
store.sync()
}
})
的问题是,store.sync()
不发送create
请求到服务器,而是一个update
请求。它看起来像store.insert(0, record)
没有考虑。只有用户完成的修改才会同步。可能是什么罪魁祸首?
我试图重现,但是,[我的情况下,只有创建被称为,从不更新。奇怪。](https://fiddle.sencha.com/#view/editor&fiddle/20j3) – Alexander
即使我已经尝试过,不能重现它,请分享小提琴,如果可能的话。 –
@Alexander我找到了解决办法,看看我的答案。如果你明白为什么不允许创建一个ID为0的记录,把它作为你的答案,我会接受它。 –