2011-06-20 70 views
3

我有一個網格和控制器。 我嘗試偵聽網格的「選擇」事件。Extjs 4在控制器中監聽網格選擇模型的事件

的代碼是:

Ext.define('Icc.controller.Questionnaires', { 
    extend: 'Ext.app.Controller', 

    stores: ['Questionnaires'], 

    models: ['Questionnaire'], 

    views: ['QuestionnairesGrid'], 

    init: function() { 
     this.control({ 
     'mygrid > selectionmodel': { 
      // do what I need here 
     } 
     }); 
    } 
}); 

它是如何能夠正確地做什麼?

+0

有可能使用這樣的:「{getSelectionModel() }':{},但是這將爲所有組件選擇所有選擇模型。我需要針對特定​​網格的使用選擇模型... – Andron

回答

5

我發現這樣做的方式:

init: function() { 
    this.control({ 
     'questionnairesgrid': { 
      selectionchange: this.selectionChange 
     } 
    }); 
}, 

奇怪的是,我可以聽爲網格本身選擇模型事件......

+0

它並不奇怪,現在子組件的所有事件都被中繼到它的所有者,您可以直接從網格偵聽SelectionModel或View事件。 – VoidMain

+1

@VoidMain - 謝謝,但對我而言這並不明確。所以也許這個筆記會節省一些人的時間:) – Andron