EXT EditGridPanel 编辑后取值的问题

2024-12-31 04:44:56
推荐回答(2个)
回答1:

当修改完数据,要保存时,通过监听提交事件,
listeners: {
'update': function(thiz, record, operation){ //捕捉记录发生更改的事件
var ob = thiz.getAt(thiz.indexOf(record)).data; //获得当前修改后的记录
if(operation == Ext.data.Record.EDIT){ //判断update时间的操作类型是否为 edit 该事件还有其他操作类型比如 commit,reject
Ext.Ajax.request({
url: '修改的处理文件.jsp', (该文件包括update sql 语句) //修改用户数据
params: { //获取修改后的用户数据传到服务器
'data1': ob.data1,
'data2': ob.data2,
'data3': ob.data3
},
success: function(response, opts) {
var respText = Ext.util.JSON.decode(response.responseText);
if(respText.success){
Ext.Msg.alert('update',respText.data,function callBack(){
thiz.commitChanges(); //如果请求成功则更新本地记录:)
} );
}
},
failure: function(response, opts) {
Ext.Msg.alert('错误','server-side failure with status code ' + response.status);
thiz.rejectChanges(); //请求失败,回滚本地记录:)
}
});
}
}

回答2:

我记得没错的话API中有方法得到变动的值,最好在保存之前 commit一下,我一般会得到所有record 然后遍历取值