2014-11-29 3 views
0

특정 셀을 편집 모드로 전환하기 위해 startEditbyPosition을 호출하기 위해 그리드 셀 편집 플러그인에 액세스하는 방법. Extjs를 사용하고 있습니다. 5Extjs 5 getPlugin이 그리드에서 작동하지 않습니다.

아래 코드를 시도했지만 getPlugin이 그리드의 docs에서 언급 한대로 작동하지 않습니다. http://docs.sencha.com/extjs/5.0.1/#...Ext.grid.Panel

var field = button; 
debugger; 
var gridpanelbidding = Ext.ComponentQuery.query('biddinggridpanel1')[0]; 
console.log(this); 
         var plugin = gridpanelbidding.getPlugin('biddingcelledit'); //this returns null 
         plugin.startEditByPosition({ row: 0, column: 3 }); 


if (field.getWidgetRecord) { 
    var rec = field.getWidgetRecord(); 
    if (rec) { 
     console.log(rec); 
     //rec.set('descriptio', field.getValue()); 
    } 
    } 

도움의 모든 종류의 에 감사드립니다. 미리 감사드립니다.

답변

4

getPluginid이 아니라 플러그인에 대해 pluginId 속성을 정의하면 작동합니다. 플러그인을 grid.plugins 배열로 찾을 수도 있습니다. 여기

이 바이올린이 작품에 getPlugin 보여주고있다 : 당신은 그냥 내가 피들러에서 일을하고 있다는 잘못된 것을 지적 할 수 http://jsfiddle.net/95a1c92f/2/

+0

덕분에, 내가 가지고있는 pluginId https://fiddle.sencha.com/#fiddle/e7e – nilesh

+0

코드의 문제는'actioncolumn' 핸들러의 첫 번째 인수는'Ext.grid.View'가 아닌'Ext.grid.Panel'입니다. 그리드는'view.panel'을 통해 사용할 수 있습니다. 또한 플러그인 유형을 rowediting에서 cellediting으로 변경했습니다. 고정 된 바이올린보기 : https://fiddle.sencha.com/#fiddle/e7m – Krzysztof