Dans ma grille extjs, lorsque je clique avec le bouton droit de la souris, j'appelle un menu contextuel. Lorsque je clique sur l'un des éléments, je veux lancer une méthode dans le contrôleur. Tout cela fonctionne avec succès, le problème est que je veux passer la grille parente à laquelle on appelle cela dans la méthode du contrôleur. Quelqu'un peut-il me montrer comment faire?extjs contextuel du menu, passer la grille parente comme paramètre à la méthode du contrôleur
Ceci est mon menu contextuel
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'
}
}
]
});
alors ceci est ma méthode de commande
onMatchTrade: function (event, target, options) {
debugger;
var me = this;
Comment puis-je accéder à la grille que l'origine de l'événement?
--et voici comment ajouter le menu contextuel de la grille
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'
},
et voici comment le contrôleur ajoute ...
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;
},
Comment créer la grille au contrôleur? Il n'y a pas assez d'informations contextuelles. –