在我的extjs网格中,当我右键单击时,我调用上下文菜单。当我点击其中一个项目时,我想在控制器中启动一个方法。这一切工作顺利,问题是我想通过这个被称为从控制器方法的父网格。有人可以告诉我如何做到这一点?extjs contextmenu单击,将父网格作为参数传递给控制器方法
这是我的上下文菜单
Ext.define('Example.ContextMenuTradematch', {
xtype: 'contextMenuTradematch',
extend: 'Ext.menu.Menu',
items: [
{
text: 'Match Trade',
iconCls: 'greenIcon',
listeners: {
click: {
fn: 'onMatchTrade',
params: {
param1: this
}
}
}
},
{
text: 'Delete Trade',
iconCls: 'deleteIcon',
listeners: {
click: 'onDeleteTrade'
}
}
]
});
那么这是我的控制器方法
onMatchTrade: function (event, target, options) {
debugger;
var me = this;
如何访问该事件源于电网?
--and我这是怎么添加上下文菜单电网
title: 'Tradematch Results: UNMATCHED',
xtype: 'grid',
itemId: 'gridUnmatchedId',
ui: 'featuredpanel-framed',
cls: 'custom-grid',
margin: '0px 10px 0px 10px',
flex: 2,
width: '100%',
bind: {
store: '{myTM_ResultsStore}'
},
listeners: {
itemcontextmenu: 'showContextMenuTradematch'
},
,这是控制器如何增加它...
getContextMenu: function (cMenu) {
if (!this.contextMenu) {
debugger;
this.contextMenu = this.getView().add({ xtype: cMenu });
}
return this.contextMenu;
},
showContextMenuTradematch: function (view, rec, node, index, e) {
e.stopEvent();
e.stopEvent();
debugger;
this.getContextMenu('contextMenuTradematch1').show().setPagePosition(e.getXY());
return false;
},
如何网格创建到控制器?没有足够的上下文信息。 –