+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre régulier Avatar de lou87
    Inscrit en
    février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 27

    Informations forums :
    Inscription : février 2006
    Messages : 368
    Points : 94
    Points
    94

    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 :
    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 :
    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
    Rédacteur/Modérateur
    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 236
    Points
    3 236

    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 régulier Avatar de lou87
    Inscrit en
    février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 27

    Informations forums :
    Inscription : février 2006
    Messages : 368
    Points : 94
    Points
    94

    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 :
    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 :
    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
    Rédacteur/Modérateur
    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 236
    Points
    3 236

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •