2010-04-01 3 views
0

RowEditor 플러그인이있는 Ext 그리드가 있습니다. 나는 roweditor 객체에 'afteredit'이벤트를 추가하는 다음 코드를 가지고있다.Ext RowEditor.js가 'afteredit'이벤트를 실행하지 않습니다.

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'이벤트를 발생 시키지만 때로는 그렇지 않습니다.

위의 코드에 문제가 있습니까?

+2

aftaxit 이벤트가 실제로 실행되지 않는다고 확인 했습니까? 아니면 아약스 콜백이 호출되지 않았습니까? 이것을 확인하기 위해 파이어 버그에 브레이크 포인트를 두 었는가? –

답변

1

Ext.grid.EditorGridPanel.prototype.onEditComplete = 기능 (예, 가치, startValue) { 경고 ('ASD') }

-1

나는 또한 나의의 ExtJS 코드에서 위 같은 문제를 경험했다. 꽤 많은 시간을 내 응용 프로그램을 디버깅 한 후, 문제는 내 코드에서 나오지 않고 RowEditor 플러그인 자체에서 발생한다는 것을 알게되었습니다.

플러그인은 사용자가 업데이트하려는 레코드에 대한 참조를 작성하여 작동하고 사용자가 업데이트 버튼을 클릭하면 새로운 값과 이전 값을 비교하고 값이 다른 경우 업데이트를 실행합니다. 문제는 때때로이 비교가 실행되기 전에 레코드가 업데이트 된 값을 가져 와서 비교 결과에 다른 값을 찾지 못하고 함수를 종료한다는 것입니다.

RowEditor.js 파일의 코드를 편집하여 실제 레코드와 비교하지 않고 레코드의 복제본을 만들고 새 값과 해당 값을 비교합니다. 복제본이므로 값이 변경되지 않고 문제가 해결됩니다. 업데이트 된 코드는 여기에서 찾을 수 있습니다 :

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

+0

코드를 보여 주면 도움이 될 것입니다. 플러그인은 꽤 작습니다. 나는 이것이 스팸 시도 (또는 어쩌면 심지어 바이러스)라고 의심합니다. – Kris

-1

나는이 문제가 해결되었다 생각 나는 오늘을 시도 할 때, 예상대로, 잘 작동한다.

관련 문제