我有一个带有RowEditor插件的Ext网格。我有以下代码将'afteredit'事件添加到roweditor对象。
store.on('update',function(){
});
editor.on("afteredit",function(roweditor,changes,record,index){
$.ajax({
url: $("#web").val() + "/registration/client/address-save"
,type: 'post'
,data: record.json
,dataType: 'json'
,success: function(data){
if(data.success == true){
alert("Update Successfully");
}
}
});
});
当我点击一行并编辑一个值时,有时网格会触发'afteredit'事件,但有时它不会。
我上面的代码有问题吗?
答案 0 :(得分:1)
Ext.grid.EditorGridPanel.prototype.onEditComplete = function(e,value,startValue){ 警报( 'ASD') }
答案 1 :(得分:-1)
我在ExtJS代码中也遇到了同样的问题。在花了很长时间调试我的应用程序后,我意识到问题不是来自我的代码,而是来自RowEditor插件本身。
该插件通过创建对用户想要更新的记录的引用来工作,在用户单击“更新”按钮后,它将比较新旧值,如果任何值不同,则会执行更新。问题在于,有时记录会在执行此比较之前更新其值,从而导致比较未找到任何不同的值并退出函数。
我编辑了RowEditor.js文件的代码,以便不创建与实际记录的比较,而是创建记录的克隆并将新值与其值进行比较。由于它是一个克隆,它的价值永远不会改变,问题就消除了。更新的代码可以在这里找到:
答案 2 :(得分:-1)
我相信这个问题得到了解决,当我今天尝试它时,它正如预期的那样正常工作。