ExtJS et grids : double click, comment faire, howto ?

Cela fait une bonne heure que je cherche comment avoir le double click sur une grid générée dynamiquement.

C’est très simple :

Ce code ne fonctionnait pas, donc si vous êtes dans le même cas que moi, n’ayez pas peur :

this.gridAttributs = Ext.create('Ext.grid.Panel', { 
    border: 0,
    store: this.store,
    columns: [ 
        { text: "id", dataIndex: 'id', sortable: true },
        { ... },
        { ... }
    ],
    celldblclick: function(evt, elem, opts ) { 
        console.log('dblclick');
    }
});

Voici le code qui fonctionne :

this.gridAttributs = Ext.create('Ext.grid.Panel', { 
    border: 0,
    store: this.store,
    columns: [ 
        { text: "id", dataIndex: 'id', sortable: true },
        { ... },
        { ... }
    ]
});
this.gridAttributs.on('cellDblClick', function(evt, elem, opts ) {
    console.log('dblclick');
});

J’espère vous avoir évité de perdre l’heure que moi même j’ai perdu ! 😉

2 comments

  1. nagrom

    Bonjour

    Après vérification, je n’ai pas l’impression que l’association des listeners à un component ai changé depuis Ext3 :


    Ext.create('Ext.grid.Panel', {
    /*...*/,
    listeners : {
    cellDblClick : function(){ /* ... */ }
    }
    });

    je me trompe ?

    cordialement,
    nagrom

    • Olivier Pons

      Bonjour,

      Je n’en ai aucune idée. Je sais juste que ça ne fonctionnait pas, et qu’avec mon exemple, ça fonctionne. Donc si jamais des gens ont du mal et passent par le même chemin que moi (qui n’est pas forcément le chemin idéal 😉 ), j’espère les avoir aidé à gagner du temps.

      Merci pour ta réponse, peut-être ton exemple fonctionne directement sans ma suggestion (je n’ai pas le temps de tester).

Poster un commentaire

Vous devriez utiliser le HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>