IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

listeners en cascade


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 112
    Par défaut listeners en cascade
    Bonjour,

    Mon petit programme cherche à réaliser la chose suivante :
    1) afficher une grid
    2) écouter la sélection d'une ligne, lancer une requête et afficher le résultat dans une seconde grid
    3) écouter la sélection d'une ligne dans cette seconde grid, lancer une nouvelle requête en fonction de cette ligne et afficher une troisième grid.
    ça s'arrête là pour la cascade.

    Malheureusement, la sélection d'une ligne dans la seconde grid ... ne fait rien.

    En mettant un point d'arrêt avec FireBug, je m'aperçois que le second listener n'est jamais sollicité ( je vais mettre des extraits de code ci-après).

    D'où ma question :
    Y a t-il une logique à respecter dans la succession des listeners ? Doit-on en supprimer un pour que le second fonctionne lorsqu'il travaille sur le même évènement ?

    Extraits de code : Affichage conditionnel de la seconde grid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    var grid = new Ext.grid.GridPanel ({
            store: store,		
    	sm: new Ext.grid.RowSelectionModel({
          	singleSelect: true,
          	listeners: {
            	rowselect: function(sm,index, record) {
    				toto = record.data.Processus;
    				ligne = record.data.Nb;
    			Ext.Ajax.request({
    		   		url: 'Ajax_DDT.php',
    		   		method:"POST",
    		   		success: function(result,request) {
                                     ...
    				grid2.render('grid-example2');}
    Extrait de code : Affichage conditionnel de la troisième grid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    var grid2 = new Ext.grid.GridPanel({
    		store: store2,
    		sm2: new Ext.grid.RowSelectionModel({
    			singleSelect: true,
    			grid:grid2,
    			listeners: {
    				rowselect: function(sm2,index, record) {
    					ddt_choisie = record.data.Code_fs; 
    					Ext.Ajax.request({
    					url: 'Ajax_FS.php',
    					method:"POST",
    					success: function(result,request) {
    					...
    					store3.loadData(mydata3);
    					grid3.render('grid-example3'); }
    J'ai appliqué la même logique,mais la deuxième sélection ne fonctionne pas.

    merci de vos lumières
    cordialement

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    bonjour,

    il est possible que le listeners ne marche pas .. je ne saurais te dire pourquoi ...

    pour resoudre se pb ...
    j'utilise la fonction 'on' ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Ext.getCmp('maGrid').on('select',function(){
    ...
    });

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 112
    Par défaut
    Bonjour Takitano

    Tu avais raison !
    J'ai ajouté une fonction "on" (pas tout à fait la tienne mais du même type) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    grid2.on({
    cellclick:{
         fn: function....
    et ça fonctionne.
    Mais je ne comprends pas pourquoi.
    Une fois de plus, tu m'a mis sur la voie.

    merci
    madmax

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supression en cascade : modèle event listener
    Par Sergejack dans le forum Développement
    Réponses: 2
    Dernier message: 28/01/2014, 15h49
  2. Delete on cascade avec SQL server
    Par fadoua dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/01/2004, 12h02
  3. suppresion en cascade + postgres
    Par bruno270579 dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/12/2003, 17h27
  4. TNS:listener could not resolve SERVICE_NAME given in connect
    Par Sinclair dans le forum Administration
    Réponses: 15
    Dernier message: 20/08/2003, 18h26
  5. DoubleClick Listener & ENTER
    Par Pro_Fete dans le forum Composants
    Réponses: 4
    Dernier message: 27/01/2003, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo