Ext RowEditor.js不会触发'afteredit'事件

时间:2010-04-01 08:41:09

标签: extjs

我有一个带有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'事件,但有时它不会。

我上面的代码有问题吗?

3 个答案:

答案 0 :(得分:1)

Ext.grid.EditorGridPanel.prototype.onEditComplete = function(e,value,startValue){   警报( 'ASD') }

答案 1 :(得分:-1)

我在ExtJS代码中也遇到了同样的问题。在花了很长时间调试我的应用程序后,我意识到问题不是来自我的代码,而是来自RowEditor插件本身。

该插件通过创建对用户想要更新的记录的引用来工作,在用户单击“更新”按钮后,它将比较新旧值,如果任何值不同,则会执行更新。问题在于,有时记录会在执行此比较之前更新其值,从而导致比较未找到任何不同的值并退出函数。

我编辑了RowEditor.js文件的代码,以便不创建与实际记录的比较,而是创建记录的克隆并将新值与其值进行比较。由于它是一个克隆,它的价值永远不会改变,问题就消除了。更新的代码可以在这里找到:

http://www.mediafire.com/?l0h8efhvc9wb2fp

答案 2 :(得分:-1)

我相信这个问题得到了解决,当我今天尝试它时,它正如预期的那样正常工作。