2014-11-29 1 views
0

Как получить доступ к плагинам сотовой сетью, чтобы вызвать startEditbyPosition, чтобы поместить определенную ячейку в режим редактирования. Я использую Extjs 5Extjs 5 getPlugin не работает для сетки

Я попытался под кодом, но getPlugin не работает, как указано в документации для сетки. 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

getPlugin работает, если вы определяете pluginId свойство для плагина, а не id. Вы также можете найти свой плагин в массиве 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