2011-10-11 45 views
1

Hii howto覆蓋ExtJS4上的gridpanel中的itemclick?我有一個別名TABLEA這樣的GridPanel:如何在ExtJS4上的gridpanel中覆蓋監聽器

Ext.define('AM.test.TableA', { 
    extend: 'Ext.grid.Panel', 
    alias: 'widget.tableA', 

    initComponent: function() { 
     // tableA configurations 
     this.callParent(arguments); 
    } 
}); 

而且我TABLEA控制器是這樣的:

Ext.define('AM.test.TableAController', { 
     extend: 'Ext.app.Controller', 

     init: function() { 
      this.control({ 
       'tableA': { 
        itemclick: this.tableSelection 
       } 
      }); 
     }, 
     tableSelection: function(grid, record) { 
      console.log('tableA selection'); 
     } 
} 

利用這種配置,當我點擊TableA中某一行,我得到消息「TABLEA選擇」在控制檯中。然後,我想延伸到TABLEA tableB的是這樣的:

Ext.define('AM.test.TableB', { 
    extend: 'AM.test.TableA', 
    alias: 'widget.tableB' 
}); 

而且我tableB的控制器是這樣的:

Ext.define('AM.test.TableBController', { 
    extend: 'Ext.app.Controller', 

    init: function() { 
     this.control({ 
      'tableB': { 
       itemclick: this.tableBSelection 
      } 
     }); 
    }, 
    tableBSelection: function(grid, record) { 
      console.log('tableB selection'); 
    } 
} 

有了這個,當我點擊TableB中某行。我得到的消息「tableB的選擇」,然後「TABLEA選擇」像這樣在我的控制檯對話框:

tableB selection 
tableA selection 

順便說一句,我必須做在「tableB的」 TABLEA「重寫itemClick在?我不想在tableA上調用'itemclick'。

回答