2013-11-04 27 views
1

我有一個EasyUI propertyGrid(它繼承dataGrid)與幾行。 我需要,當用戶正在編輯一個文本字段,當按下輸入時,編輯完成,onAfterEdit被調用。 EasyUI默認不會這樣做!任何解決方案jQuery EasyUI dataGrid保存時輸入按

回答

2

我與的TreeGrid同樣的問題,所以我覺得你可以使用此代碼的PropertyGrid也:

onDblClickRow: function(row){ 
      if (editingId != undefined){ 
       $('#arbol_eui').treegrid('select', editingId); 
       return; 
      } 

      if (row){ 
       editingId = row.id; 
       pos = row.id; 
       $('#arbol_eui').treegrid('beginEdit', editingId); 
      } 
      var ed = $(this).treegrid('getEditor', 
            {index:editingId,field:'peso'}); 

      $(ed.target).focus().select().bind('keyup', function(e) 
      { 
       var code = e.keyCode || e.which; 
       if(code == 13) { //Enter keycode 
        //Trigger code to save row 
             //This executes onAfterEdit event code 
        var t = $('#arbol_eui'); //My treegrid selector 
           t.treegrid('endEdit', editingId); 
           editingId = undefined; //editingId is a global var 

       } 
      }); 
     }, 

的關鍵是jQuery的事件「KEYUP」結合在文本框編輯器的電池「onDblClickRow」事件也開始編輯該行

好運

+0

我想出了機智h鍵解決方案,但仍然在編輯一行並按下Enter之後,該行不再可編輯,除非用戶單擊另一行或在propertyEditor之外聚焦。通過查看您的代碼,我學會了使用onClickRow以編程方式啓動編輯,這解決了我的問題。謝謝! –

+1

我還在('endEdit')之後使用了propertygrid('acceptChanges'),這使得更改在給定行中永久存在。 –

-1

嘗試在DataGrid-cellediting擴展,它增加了一些像這樣的功能

相關問題