在我的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;
},
如何網格創建到控制器?沒有足夠的上下文信息。 –