[MVC] Passer une variable entre 2 controllers ?
Bonjour à tous,
j'ai dans ma vue principale une TreeGrid dans laquelle j'ai une ActionColumn qui ouvre une fenêtre.
Cette fenêtre contient une grid qui pour se remplir attend 2 valeurs, et un bouton OK.
Actuellement je fais dans mon TreeGrid:
Code:
1 2 3 4 5 6 7 8 9
| var foldername = record.get('name');
var json_id = record.get('id');
if ((!Ext.isEmpty(foldername)) && (!Ext.isEmpty(json_id))) {
// Afficher la fenêtre DoSharing;
var myModalWindow = Ext.create('MonAPP.view.sharing.DoSharing', {
title: 'Share my Folder: ' + foldername
}).show();
MonAPP.app.getController("sharing.DoSharing").fillGrid(foldername, json_id);
} |
Ma fenêtre qui contient la Grid, possède une procédure pour remplir ma grille fillGrid à laquelle je passe 2 paramètres.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| onOkClick: function () {
console.log('je click'); <==== Affiche 2 fois ?
},
fillGrid: function(foldername, json_id) {
var myGridSharing = this.getRefGridSharing();
myGridSharing.getStore().load({
scope: this,
params: {
folder : foldername,
json_id : json_id
},
callback: function(records, operation, success) {
if (success) {
}
}
});
} |
Alors voici mon problème, lorsque je clique sur le bouton OK de la fenêtre qui contient la Grid, cela execute 2 fois le onOkClick ??!!
Savez vous pourquoi ? Une piste, cela provient surement du getController() car si je ne rempli pas ma Grid alors le onOkClick ne se lance qu'une seule fois.
Pour info: fillGrid() ne se lance bien qu'une seule fois.
Comment faire pour passer mes 2 variables du controller de mon TreeGrid au controller de ma Grid sans utiliser getController() ?
D'avance merci pour vos conseils !