J'essaie d'implémenter une grille de révision générale comme this example, avec la différence que je voudrais synchroniser les changements avec le backend du serveur. Jusqu'à présent, je peux ajouter une nouvelle ligne avec onRoweditAdd
.rowedit grid with sync
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()
}
})
Le problème est que store.sync()
ne pas envoyer une demande create
au serveur, mais une demande update
. Il semble que store.insert(0, record)
n'est pas comptabilisé. Seule la modification effectuée par l'utilisateur est synchronisée. Quel pourrait être le coupable?
J'ai essayé de reproduire, cependant, [dans mon cas, que l'on appelle Créer, jamais mise à jour. Bizarre.] (Https://fiddle.sencha.com/#view/editor&fiddle/20j3) – Alexander
Même si j'ai essayé et que je ne suis pas capable de le reproduire, s'il vous plaît partagez le violon si possible. –
@Alexander J'ai trouvé une solution de contournement, regardez ma réponse. Si vous comprenez pourquoi créer un enregistrement avec l'ID 0 n'est pas autorisé, mettez-le comme réponse, je l'accepterai. –