Events 为什么我在ExtJS 4网格面板操作列处理程序中触发的事件没有被网格听到
如下面的代码片段所示,我有一个ExtJS4网格面板,其中有一个操作列和两个项目,即图标。图标处理程序使网格触发自定义事件 但控制器中从未听到过该事件Events 为什么我在ExtJS 4网格面板操作列处理程序中触发的事件没有被网格听到,events,extjs,action,Events,Extjs,Action,如下面的代码片段所示,我有一个ExtJS4网格面板,其中有一个操作列和两个项目,即图标。图标处理程序使网格触发自定义事件 但控制器中从未听到过该事件 items : [{ xtype : 'gridpanel', itemId : 'settinggrid', store: 'myStore', columns : [{ xtype : 'gridcolumn', width : 200, dataIndex : '
items : [{
xtype : 'gridpanel',
itemId : 'settinggrid',
store: 'myStore',
columns : [{
xtype : 'gridcolumn',
width : 200,
dataIndex : 'name',
text : 'Name'
}, {
xtype : 'actioncolumn',
text : 'Action',
align: 'center',
items: [{
icon: './images/atlas/editIcon.png',
handler: function(grid, rowIndex, colIndex, item, event, record, row) {
grid.fireEvent('myIconClick', item, record, 'edit');
}
},
{
icon: './images/atlas/refreshIcon.png',
handler: function(grid, rowIndex, colIndex, item, event, record, row) {
grid.fireEvent('myIconClick', item, record, 'refresh');
}
}
]
}]
}]
Ext.define('SettingController', {
extend : 'Ext.app.Controller',
models : [ 'MyModel' ],
stores : [ 'MyStore' ],
views : [ 'SettingsTabs' ],
init : function() {
var me = this;
me.control({
"settingstabs":
"settingstabs #settinggrid" :
{
'vCenterIconClick': me.onVcenterIconClicked,
}
});
},
onVcenterIconClicked: function() {
alert("clicked");
}
}
这项工作:
me.control(
{
"settingstabs #settinggrid actioncolumn": {
'vCenterIconClick': me.onVcenterIconClicked
}
});
handler: function(grid, rowIndex, colIndex, item, event, record, row) {
this.fireEvent('vCenterIconClick', item, record, 'edit');
}
在本例中,“this”是action列