我用Ext3.0的EditorGridPanel,数据源定义如下:
var store = new Ext.data.JsonStore({ root: 'dataObj', totalProperty: 'totalCount', idProperty: 'id', remoteSort: true, autoSave:false, fields: [ 'id', 'name', 'categoryId','descn', {name:'price', type:'float'}, {name: 'publishDate', type: 'date', dateFormat: 'Y-m-d'} ], //url: '/griddemo/grid/extgrid.do' proxy : new Ext.data.HttpProxy({ method: 'GET', listful: true, //prettyUrls: false, url: '/griddemo/grid/extgrid.do', api: { // all actions except the following will use above url //read : '', create : '/griddemo/grid/extgrid/add.do', update : '/griddemo/grid/extgrid/update.do', destroy : '/griddemo/grid/extgrid/del.do' } }), writer: new Ext.data.JsonWriter({ encode: true, writeAllFields: false }) });
当点击按钮触发事件方法,调用store.save()方法提交到'/griddemo/grid/extgrid/update.do',后台将如何接收提交的修改?后台使用Java
'id', 'name', 'categoryId','descn' ,'price', 'publishDate'
1 张三 123 abc 500 2008-12-12
2 李四 456 def 600 2009-08-06
加入你的数据如上,这个时候你修改了第一行的price 的数据为1000,然后调用了store.save();他就会触发你配置好的 update : '/griddemo/grid/extgrid/update.do', 这个请求
然后他会自动把你修改后的记录用下列的方式作为参数传递给后台
{"price":"1000","id":1}
这样你就明白啦:)
request.getParamer
参数名可以通过firebug看下ajax的request