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

Bibliothèques & Frameworks Discussion :

Creer un menu sur click droite sur les ligne d'une grid [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut Creer un menu sur click droite sur les ligne d'une grid
    Salut a tous ,

    J'ai une grid et j'ai besion de creer un menu sur click droite sur les ligne de cette grid , alors pour le faire j'ai créé une methode js :
    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
     
    function maMethode()
    {
        var pMenu = new dijit.Menu({
            targetNodeIds : [ "grid" ]
        });
        pMenu.addChild(new dijit.MenuItem( {
            label : "Editer",
            onClick : Modifier
        }));
        pMenu.addChild(new dijit.MenuItem( {
            label : "Supprimer",
            onClick : supprimer
        }));
    }
    et j'ai appelé cette methode dans grid utilisant l'événement onRowContextMenu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     <table  dojoType="dojox.grid.DataGrid"
                store="store" jsid="grid" id="grid"
                onRowContextMenu="maMethode">
            <thead>
                <tr>
                 .............
                </tr>
            </thead>
        </table>
    Le probleme c'est que le menu ne s'affiche pas directement, comme si j'etais obligé de faire deux click droit.
    Et le 2eme probleme c'est que je suis obligé de séléctionner une ligne avec click gauche avant de faire le click droite et si je fait directement click droite sur la ligne il séléctionné pas la ligne .

    Est ce que quelqu'un peut me dire de où il viens le probleme ? et merci d'avance.

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    version 1.3 ou 1.4 ?

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Désolé, j'avais oublier de spécifier la version , j'utilise la version 1.4

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Citation Envoyé par devkaty Voir le message
    Désolé, j'avais oublier de spécifier la version , j'utilise la version 1.4
    Cela tombe très bien car il existe une grille "étendue": dojox.grid.EnhancedGrid qui supporte nativement les menus

    Regarde l'exemple dans la doc (dojo_1.4\dojox\grid\tests\enhanced\test_enhanced_grid.html, cela donne à peu près ça:
    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
    		<div id="grid1" dojoType="dojox.grid.EnhancedGrid" query="{ Track: '*' }" rowsPerPage="30" 
    			plugins='{nestedSorting: true, dnd: true, indirectSelection: true, menus:{rowMenu:"rowMenu", cellMenu:"cellMenu"}}'
    			store="csvStore1" structure="layout" rowSelector="20px">
    			<div dojoType="dijit.Menu" id="rowMenu"  style="display: none;">
    				<div dojoType="dijit.MenuItem">Row Menu Item 1</div>
    				<div dojoType="dijit.MenuItem">Row Menu Item 2</div>
    				<div dojoType="dijit.MenuItem">Row Menu Item 3</div>
    				<div dojoType="dijit.MenuItem">Row Menu Item 4</div>
    			</div>
    			<div dojoType="dijit.Menu" id="cellMenu"  style="display: none;">
    				<div dojoType="dijit.MenuItem">Cell Menu Item 1</div>
    				<div dojoType="dijit.MenuItem">Cell Menu Item 2</div>
    				<div dojoType="dijit.MenuItem">Cell Menu Item 3</div>
    				<div dojoType="dijit.MenuItem">Cell Menu Item 4</div>
    			</div>
    		</div>
    ERE
    Quand une tête pense seule, elle devient folle.

  5. #5
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Salut,
    Merci pour votre response mais j'ai pas compris ce que vous voulez dire

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Re,

    Ce que je veux dire, c'est que tu devrais utiliser dojox.grid.EnhancedGrid (plutôt que dojox.grid.DataGrid) qui inclut en standard ce type de menu.

    Techniquement cette grid étend le DataGrid.

    ERE
    Quand une tête pense seule, elle devient folle.

  7. #7
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Merci autre fois, je vais essayer cette solution .
    J'ai une autre question : comment peut mettre une ligne dans grid sélectionnée si on fait click droite ;j'ai deja item?
    ( je veux voir sur click droite que la ligne est sélectionné comme le cas du click gauche ) .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function fction(e)
    {
       var item = grid.getItem(e.rowIndex);
      // ici je veux séléctionner la ligne 
    }

  8. #8
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Cas général: sur l'événement onRowMouseDown mets ce code si c'est un clic bouton droit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grid.selection.clickSelectEvent(e);
    Sinon pour ton cas présent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grid.selection.select(e.rowIndex);
    ERE
    Quand une tête pense seule, elle devient folle.

  9. #9
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Merci pour vos réponses ça marche

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

Discussions similaires

  1. Outil VBA sur ArcGis : Copier/coller les lignes dans une table attributaire
    Par Alexiis dans le forum SIG : Système d'information Géographique
    Réponses: 2
    Dernier message: 26/09/2013, 17h15
  2. Colorier les lignes d'une grid
    Par BqiKo dans le forum Ext JS / Sencha
    Réponses: 14
    Dernier message: 17/05/2010, 16h15
  3. menu contextuel sur click droit
    Par fouxy dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 13/04/2008, 17h40
  4. Afficher un menu lors d'un click droit sur l'image
    Par bhahmed dans le forum C++Builder
    Réponses: 17
    Dernier message: 22/09/2006, 11h54
  5. rajouter une item sur le menu contextuel click droit
    Par sony351 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/02/2006, 15h19

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