J'étudie ExtJS. J'essaye de faire une table avec CRUD. Ceci est un exemple de mon code.ExtJS.grid.CRUD
Ext.onReady(function(){
var writer = new Ext.data.JsonWriter({
encode: true,
writeAllFields: false
});
var proxy = new Ext.data.HttpProxy({
api: {
read : 'read',
create : 'сreate',
update: 'update',
destroy: 'delete'
}
});
var reader = new Ext.data.JsonReader({
root:'list',
id:'id',
totalProperty: 'totalCount'},
[
'id',
'name',
'description'
])
var store = new Ext.data.Store({
id:'id',
proxy: proxy,
reader: reader,
writer: writer,
autoSave: true
});
store.load();
var title_edit = new Ext.form.TextField();
var grid = new Ext.grid.EditorGridPanel({
store: store,
renderTo: document.body,
clickstoEdit: 1,
columns: [
{id:'id',header: 'ID', width: 30, dataIndex: 'id',editor: title_edit},
{header: 'Name', width: 80, dataIndex: 'name',editor: title_edit},
{header: 'Description', width: 180, dataIndex: 'description',editor: title_edit}
],
height: 320,
width: 400,
title: 'Table',
loadMask: true,
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: store,
displayInfo: true,
displayMsg: 'Displaying movies {0} - {1} of {2}',
emptyMsg: "No movies found"
}),
tbar:
[
{
text: 'Add',
handler: function(btn, ev) {
var u = new store.recordType({
name: '',
description : ''
});
grid.stopEditing();
store.insert(0, u);
grid.startEditing(0, 1);
}
} ]
});
});
Il ne contient pas d'erreurs - c'est ce que dit le FireBug. Lorsque je clique sur le bouton "Ajouter" les événements suivants se produisent: demande au serveur est envoyé avec des valeurs vides, en ajoutant une nouvelle ligne dans le tableau en mode édition.
Mais cela est faux ...
J'ai vu un exemple dans la documentation:
http://dev.sencha.com/deploy/dev/examples/writer/writer.html
Dans cet exemple, l'envoi d'une requête au serveur est la dernière étape, ajoutez d'abord un nouvelle ligne dans la table, puis je l'édite, et seulement ensuite - la demande au serveur.
Comment faire la même chose dans mon code? aidez s'il vous plaît.