2011-10-11 4 views
1

Hii howto가 ExtJS4의 gridpanel에서 itemclick을 재정의 하시겠습니까? 내가 TableA의 일부 행을 클릭이 구성ExtJS4의 gridpanel에 리스너를 무시하는 방법

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 선택" :

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

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

그리고 이런 내 TABLEA 컨트롤러 :이 같은 별칭 TABLEA와 gridpanel이 콘솔에서. 그리고, 난에이 같은 TableB의에 TABLEA를 확장하고자이 같은

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 선택'을 얻을 :

Btw는
tableB selection 
tableA selection 

, 내가 'TableB의'에서 'TABLEA'에서 대해서 itemClick를 대체 무엇을해야 하는가? tableA에서 'itemclick'을 호출하고 싶지 않습니다. 내가 B에 stopPropagation 메소드를 정의해야합니다 경우

답변