2013-06-11 4 views
0

я сделал редактирование ячейки/редактирование строки используя редактирование строк. Но для некоторых условий мне нужно объявить плагин в виде секции зрения какобъявить плагин в переменной в секции просмотра extjs mvc

var editing = Ext.create('Ext.grid.plugin.CellEditing', { 
      clicksToEdit: 2, 

pluginId:'celledit' 
     }); 

затем использовать плагин, как

plugins: [ 
    editing 
], 

, к сожалению, я не имею права делать это ... есть ли способ что я могу хранить плагин в переменной, а затем использовать его, потому что у меня есть некоторая логика, когда я должен активировать редактирование строк.

ответ

0

Плагин имеет методы enable() и disable(), возможно, именно это вы собираетесь использовать, когда вам нужно «активировать редактирование строк». Учитывая, что код находится в initComponent, речь идет о чем-то вроде:

this.editing = Ext.create('Ext.grid.plugin.CellEditing', { 
      clicksToEdit: 2 
     }); 
this.editing.disable(); 

и затем

this.plugins = [ 
    this.editing 
]; 
+0

this.editing.enable Или отключить не работает –

+0

ОК, делает 'this.editing' везде вы обращаетесь к нему, фактически указываете на экземпляр плагина? Другими словами, будет ли 'this.editing instanceof Ext.grid.plugin.CellEditing' оцениваться как' true'? Вы также можете получить доступ к плагину, используя команду 'grid.getPlugin ('pluginId')' – Greendrake

+0

, это работает для меня var grid = Ext.getCmp ('mylist'); var editor = grid.getPlugin ('celledit'); –

Смежные вопросы