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 :

Recuperer valeur d'une case d'un dataGrid dans un évenement onclick


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 93
    Points : 37
    Points
    37
    Par défaut Recuperer valeur d'une case d'un dataGrid dans un évenement onclick
    Bonjour,

    J'essaie de récupérer la valeur d'une case de mon datagrid, mais malheureusement je n'y arrive pas....

    voici mon code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    var store = null;
     
        function ButtonClean(grid, rowIndex) {
            //return '<button onclick="javascript:window.location.href =\'<?= $this->baseUrl ?>/asynchronous/cleanrapport/nameLibelle/<?= $this->data['nameLibelle'] ?>/numero/<?= $this->data['clusterId'] ?>/groupe/<?=$this->data['familly'] ?>\';">Clean</button>';
            return '<button onclick="alert('+grid+'.store.getValue('+grid+'.getItem('+rowIndex+'), "Number"));">Clean</button>';
        }
     
        function ButtonFormat(value, rowIndex){
     
            //<? $valeurphp = "<script language='Javascript'> document.write(rowIndex); </script>"; ?>
            return '<img width="30" height="30"  src="<?= $this->baseUrl ?>/images/icon-<?= $this->data['fileType'][0] ?>-bleu-ok.gif"/>';
        }
     
       function formatMyDate(value, rowIndex) {
     
             return dojo.date.locale.format(value, {datePattern:"dd/MM/yyyy", selector:"date"});
        }
     
     
        var typeMap = {
            "Date": {
             type: Date,
                  deserialize: function(value){
                     var date = new Date(value);
                     return date;
                  }
             }
        };
     
        var gridLayout = [
    		{ name: "Number", field: "number", width: "auto" },
            { name: "Format", formatter: ButtonFormat, width: "auto" },
    		{ name: "date_factA_begin", field: "date_factA_begin", formatter: formatMyDate, width: "auto" },
            { name: "date_factA_end", field: "date_factA_end", formatter: formatMyDate, width: "auto" },
            { name: "agence", field: "agence", width: "auto" },
            { name: "date generation", field: "date generation", width: "auto" },
            { name: "Action",  formatter: ButtonClean , width: "auto" }
    	];
     
    	dojo.addOnLoad(function() {
    	    store = new dojo.data.ItemFileReadStore({
                typeMap : typeMap,
    	        url:"<?= $this->baseUrl().'/asynchronous/teststat/nameLibelle/'.$this->data['nameLibelle'] ?>",
    	        method:"post"
     
    	    });
     
    	    grid.setStore(store);
    	    grid.setStructure(gridLayout);
            grid.adaptHeight();

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

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

    Les fonctions utilisées dans la cadre d'un formatage de données prennent comme unique paramètre la données à formater. Soit dans ton cas par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        function ButtonClean(data) {
            return '<button onclick="alert(\' ' + data+ ' \'  );">Clean</button>';
        }
     
     
        var gridLayout = [
            ...
            { name: "Action",  formatter: ButtonClean , width: "auto" }
    	];
    ERE

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 93
    Points : 37
    Points
    37
    Par défaut
    merci
    j'ai null comme valeur pour data^^
    N'y a t'il pas moyen alors de récupérer la valeur de ma colonne Number en fonction de la ligne
    ?

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

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

    Non ce n'est pas possible. Mais si tu as null comme valeur c'est que cette valeur est ... null. Commence par voir pourquoi. As tu vérifié ce qui est renvoyé par ton store ?

    ERE

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 93
    Points : 37
    Points
    37
    Par défaut
    Ben je pense que mon store me renvoie bien les bonnes choses, vu que mon tableau est rempli des valeurs que je demande non?

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

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

    Assure t en en regardant simplement les données JSON renvoyées (ou crées en un en dur).

    ERE

Discussions similaires

  1. [Débutant] Assigner une valeur a une case en particulier dun datagrid
    Par Naografix dans le forum Windows Presentation Foundation
    Réponses: 17
    Dernier message: 09/12/2014, 19h46
  2. Réponses: 7
    Dernier message: 26/04/2008, 10h48
  3. [C#] Attribuer une valeur a une cellule d'un DataGrid
    Par linuxludo dans le forum Windows Forms
    Réponses: 16
    Dernier message: 19/11/2005, 17h42
  4. recupere valeur d'une balise select
    Par naourass dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/11/2005, 10h18
  5. [STRUTS] Recuperer valeurs d'une url enrichi ?
    Par Ev3rGlide dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/04/2005, 11h39

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