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 :

Récupérer une valeur dans un Grid [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut Récupérer une valeur dans un Grid
    Salut,

    Pas vraiment un problème, mais plutôt une question.

    Je récupère une ligne de Grid en cliquant dessus via un onRowClick:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    new dojox.grid.DataGrid({
                                    query:{ id: '*' },
    				store: storeModelesListe,
           structure:structureModeles,                                                            
                                    clientSort: true,
    				rowSelector: '20px',
    				loadingMessage: "Loading...",
    				onRowClick : function(e) {
    						console.debug(e);
    						alert(e.cell.markup[5]);
    						}
    				});
    Les valeurs des cellules du Grid sont contenues dans le tableau markup, et je récupère bien la valeur pour en faire ce que je veux.

    Mais je trouve ça un peu crade pour plusieurs raisons:

    1. Le code n'est pas très joli ni très parlant
    2. Que se passe-t-il si la structure de mon Grid est modifiée dynamiquement (ajout de colonnes par exemple)


    En effet, ici je sais que je dois chercher dans markup[5] car j'ai fouillé dans Firebug pour trouver la bonne valeur.
    Mais y a-t-il un moyen plus direct d'appeler la bonne colonne ?

    J'ai essayé en appelant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e.cell.markup['toto']
    où "toto" serait le nom de la colonne, mais bien sûr ça ne fonctionne pas...
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  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 *.Har(d)t,

    Effectivement ce n'est pas la bonne démarche "DOJO".
    Ta grid s'appuie sur un store, c'est donc lui qui fait référence.

    Le code "propre" est donc celui-ci:

    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
    new dojox.grid.DataGrid({
                                    query:{ id: '*' },
    				store: storeModelesListe,
           structure:structureModeles,                                                            
                                    clientSort: true,
    				rowSelector: '20px',
    				loadingMessage: "Loading...",
      onRowClick : function(e) {
          //on récupère l'item du store concerné par le click
          var item = this.getItem(e.rowIndex);
          //et on affiche en utilisant le field de la cellule cliquée
          console.log(storeModelesListe.getValue(item,e.cell.field));
      }
    				});
    ERE

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

  3. #3
    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
    mais bien sûr ça ne fonctionne pas...
    Un petit peu de déprime ?

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

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Quand j'aurai fini ce projet, promis, je prends le temps de compulser les bouquins sur Dojo de manière exhaustive, ça m'évitera de poser des questions *ons: Tu m'as déjà expliqué ça dans un thread plus vieux. Je veux absolument travailler sur les éléments rendus au lieu d'aller chercher ce que je veux dans le store, je sais pas pourquoi, c'est plus fort que moi.

    Merki beaucoup

    Et non, je ne déprime pas ("Je vais bien, tout va bien ")
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  5. #5
    En attente de confirmation mail
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Ou sinon...
    ...en version crado il y a aussi row.cellNode.innerHTML. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var rowClick = function(row) {
    	var colName = row.cell.field;
    	console.debug(colName + " => " + row.cellNode.innerHTML);
    }

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

Discussions similaires

  1. Récupérer une valeur dans une JList
    Par Noosymer dans le forum Composants
    Réponses: 6
    Dernier message: 17/06/2010, 23h53
  2. [VBA-A] Récupérer une valeur dans une table Access
    Par Dude2006 dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/04/2006, 23h56
  3. récupérer une valeur dans un selected
    Par lacfab dans le forum Langage
    Réponses: 6
    Dernier message: 14/12/2005, 09h48
  4. Réponses: 5
    Dernier message: 09/09/2005, 17h51
  5. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49

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