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

Flex Discussion :

Recherche de données précises dans un Object [Flex3]


Sujet :

Flex

  1. #1
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut Recherche de données précises dans un Object
    Bonjour,

    J'aimerais pouvoir rechercher des informations précises dans un objet que j'ai réussi à récupérer.

    Je m'explique : j'ai un tableau croisé et quand je coche une des checkbox, la méthode me retourne l'objet qui a été modifié.

    Cette objet se présente sous cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    (Object)#0
      col1 = false
      col2 = false
      col3 = true
      col4 = false
      col5 = true
      col6 = true
      col7 = false
      col8 = false
      col9 = false
      col10 = false
      col11 = false
      ligne = "A"
    Et j'aimerais réussir à récupérer seulement dans cet objet la/les colonne(s) qui est à true, ainsi que la ligne, autrement dit dans mon exemple "A", "col3", "col5" et "col6".

    Comment puis-je procéder s'il vous plaît ?

    En vous remerciant.
    Programmer c'est comme gravir une montagne...
    Il faut procéder par étapes...
    (? auteur ?)
    Un seul être vous manque et tout est dépeuplé.
    Lamartine (merci chat hotplug ^^)

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Salut,

    voici une solution codé vite fait.

    Soit obj ton Object d'origine et objOutput ton Object que tu souhaites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(var id:String in obj) {
    if((obj[id] == true) || (id == 'ligne'))
      objOutput[id] = obj[id];
    }

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Bonjour Jim_Nastiq !

    Merci beaucoup de m'avoir répondu si vite.

    Citation Envoyé par Jim_Nastiq Voir le message
    Soit obj ton Object d'origine et objOutput ton Object que tu souhaites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(var id:String in obj) {
    if((obj[id] == true) || (id == 'ligne'))
      objOutput[id] = obj[id];
    }
    J'ai essayé votre code et pour l'instant il ne me renvoie aucune donnée...
    Et adobe flash player m'envoie comme erreur :
    "TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul."
    Donc je suppose que l'object objOutput ne reçoit aucune donnée (car pour vérification je demande au code de m'afficher le résultat dans un Alert.show()).

    Donc je pense que j'ai peut être mal interprété/compris, le code que vous m'avez donné.
    Le obj est bien l'object sélectionné qui m'est retourné, c'est bien ça ?

    Et pour le id, c'est l'identifiant de la donnée se trouvant dans mon object c'est bien ça ? Comme par exemple "col1", "col2", etc... ?

    Si c'est bien ça me donne ceci :
    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 Select:Object;
    var objOutput:Object;
    //récupération de l'object sélectionné dans le datagrid
    Select = datagrid.selectedItem;
    Alert.show("Objet sélectionné :"+ObjectUtil.toString(Select));
    // L'alert me retourne bien l'object sélectionné/modifié
     
    for(var id:String in Select) {
    if((Select[id] == true) || (Select[id] == 'ligne'))
    objOutput[id] = Select[id];
    }
     
    Alert.show("infos utiles " +objOutput[id]);
    // l'alert ne s'enclenche pas car le objOutput[id] ne semble pas avoir reçu de données
    Pourriez-vous me dire si j'ai mal compris votre code, s'il vous plaît ?

    En vous remerciant.
    Programmer c'est comme gravir une montagne...
    Il faut procéder par étapes...
    (? auteur ?)
    Un seul être vous manque et tout est dépeuplé.
    Lamartine (merci chat hotplug ^^)

  4. #4
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Après de multiples essais pour réussir à récupérer ce dont j'ai besoin, je suis revenue à la méthode que m'a donné Jim_Nastiq, et cette fois-ci ça fonctionne.... C'est à rien n'y comprendre.

    Merci beaucoup Jim_Nastiq !!!

    Mais bon ça fonctionne et c'est l'essentiel, cependant j'ai dû modifier un peu le code pour récupérer et la colonne/checkbox modifiée et la ligne, ce qui donne ceci :
    Attention ça va brûler les yeux car c'est un peu (beaucoup) fait de manière brouillonne.

    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
     
    var Select:Object;
    var objOutput:Object;
    Select = datagrid.selectedItem;
    Alert.show("Objet sélectionné :"+ObjectUtil.toString(Select));
     
    for (var id:String in Select)    {
          if(Select[id] == true || Select[id] == 'ligne'){
                // ici j'arrive à afficher la checkbox qui a été modifié
                Alert.show("(dans la boucle) value id : "+id);
                var id2:String;
                id2 = 'ligne';
                var ligneSelected:String = Select[id2];
                // ici j'affiche la ligne en question
                Alert.show("infos utiles ligneSelected " +ligneSelected);
            }
    }
    Programmer c'est comme gravir une montagne...
    Il faut procéder par étapes...
    (? auteur ?)
    Un seul être vous manque et tout est dépeuplé.
    Lamartine (merci chat hotplug ^^)

  5. #5
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Si votre problème est résolu, merci de penser au tag Résolu (bouton en bas de page)

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  6. #6
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Oui, oui ^_^

    J'attendais juste de faire quelques tests afin de voir si d'autres problèmes n'apparaissaient pas.

    Mais c'est tout bon.

    Merci encore Jim_Nastiq.
    Programmer c'est comme gravir une montagne...
    Il faut procéder par étapes...
    (? auteur ?)
    Un seul être vous manque et tout est dépeuplé.
    Lamartine (merci chat hotplug ^^)

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

Discussions similaires

  1. [XL-2007] Rechercher des données similaires dans plusieurs cellules
    Par Cadillac98 dans le forum Excel
    Réponses: 1
    Dernier message: 17/11/2011, 19h01
  2. Réponses: 2
    Dernier message: 26/05/2011, 16h43
  3. Rechercher une valeur précise dans une table
    Par tonton54 dans le forum MySQL
    Réponses: 5
    Dernier message: 28/10/2008, 15h58
  4. recherche de données existantes dans colonne et if
    Par Elvidre dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/03/2008, 22h16

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