2
我正在學習ExtJS。我試圖用CRUD製作一張桌子。 這是我的代碼的一個例子。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);
}
} ]
});
});
它包含沒有錯誤 - 所以說FireBug。 當我點擊按鈕「添加」時,會發生以下情況: 對服務器的請求以空值發送, 在編輯模式下在表中添加新行。
但這是錯誤的...
我看了文檔中的例子:
http://dev.sencha.com/deploy/dev/examples/writer/writer.html
在這個例子中,向服務器發送一個請求的最後階段,首先添加表中的新行,然後我編輯它,然後才 - 請求到服務器。
我該如何在我的代碼中做同樣的事情?請幫忙。