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 :

Récupération de données dans 2 variables depuis un ArrayCollection


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 Récupération de données dans 2 variables depuis un ArrayCollection
    Bonjour,

    J'ai encore un petit soucis, et c'est pas faute d'avoir chercher des solutions sur internet.

    En faite je cherche à diviser en deux variables le résultat d'une requête qui me retourne un ArrayCollection.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private function handleResult(event:ResultEvent):void
    {    
        var result:ArrayCollection = event.result as ArrayCollection;
    }
    Donc ici je cherche à diviser en 2 variables l'arrayCollection, qui me retourne comme résultat :
    Arthur,cuisinier,Michel,journaliste
    Puis j'arrive à récupérer ligne par ligne comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (var i:int =0 ;i<result.length;i++)
    {
           var obj:Object = result.getItemAt(0);
           Alert.show("ligne objet : "+obj);
    }
    Et le résultat est :
    Arthur,cuisinier
    Ensuite j'ai regardé sur internet tout ce qui pouvait me permettre ici, de séparer 'Arthur' et de le mettre dans une variable et 'cuisinier' dans une autre variable.

    Il me semblait que getItemAt() pouvait m'y aider, mais apparemment le programme ne voit 'Arthur,cuisinier' que comme un seul objet.

    Puis j'ai essayé de voir avec:
    => projectMembers.getItemAt(i).NomColonne
    (NomColonne étant le nom de colonne que j'ai utilisé pour ma requête SQL)
    Résultat : soit 'null', soit
    Error #1123: L'opérateur Filter n'est pas pris en charge sur le type Array.
    => j'ai essayé de voir s'il n'existait pas une méthode truncate, afin de récupérer se qui se trouve avant la virgule, puis d'un autre côté se qui se trouve après la virgule
    => et d'autres possibilités mais tous aussi infructueux les uns que les autres

    Auriez-vous une idée, s'il vous plaît ?
    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,

    Ne pourrais tu pas mettre en place un mapping d'objet entre ton serveur et ton client ? ca te faciliterai grandement la tache

    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 et merci Jim_Nastiq pour ta réponse. ^_^

    Cependant que voulez-vous dire par "mettre en place un mapping d'objet entre ton serveur et ton client", s'il vous plaît ?

    Désolée je ne suis pas encore très familière avec les termes.

    Sinon j'ai un peu avancé mais je reste tout de même bloqué...

    J'ai réussi en quelque sorte à faire un peu ce que je voulais (avec l'aide d'un collègue) avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    var arr:String = result.toString();
    var array:Array = arr.split(",");
     
    dataprovider = array;
    Cependant cela m'affiche dans mon tableau:

    Personne Métier
    Arthur Arthur
    Cuisinier Cuisinier
    Michel Michel
    Journaliste Journaliste

    Alors pour y remédier j'ai fait 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
    16
    17
    18
    19
     
    var r:Array;
    var u:Array;
     
    for (var i:int=0 ;i<array.length;i+2)
                        {
                            r = array[i];
                             //ou r = array[i].toString();
     
                        }
    //ici j'essaie de récupérer tout les métiers
     
    for (var i:int=0 ;i<array.length;i+2)
                        {
                            u = array[i];
                             //ou u = array[i].toString();
     
                        }
    //ici j'essaie de récupérer tout les noms
    Mais je reçois l'erreur :
    "Arthur" ne peut pas être converti en type Array
    Comment puis-je procéder pour que cela fonctionne, s'il vous plaît ?
    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 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 vous utiliser du remoting serveur (blazeds, lcds, amfphp, zendamf, ...) il est possible de faire du mapping. C'est a dire que vous déclarer un object (VO, Pojo, bean, appelez le comme vous le souhaitez) et de le partager entre votre code serveur et votre code flex.
    Par exemple, si vous avez un pojo UserVO avec 3 propriété (nom, prenom, mail), vous pouvez directement renvoyer depuis le serveur votre object UserVO, et donc pas besoin de sérialiser/deserialiser les données.

    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

Discussions similaires

  1. [PowerShell] Recupération de données dans une variable depuis Receive-job
    Par Striper dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 07/06/2010, 14h30
  2. Réponses: 16
    Dernier message: 10/11/2005, 22h10
  3. Réponses: 6
    Dernier message: 23/10/2005, 13h24
  4. Réponses: 2
    Dernier message: 14/10/2005, 11h11
  5. récupération de données dans un TDBControlGrid
    Par dableuf dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/11/2004, 15h25

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