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 :

XML en String dans un DataGrid


Sujet :

Flex

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut XML en String dans un DataGrid
    Bonjour,

    J'ai un petit problème de remplissage d'une datagrid par un string qui a le format d'un xml.

    je simplifie mon code pour facilité la question.

    Voici ce que j'ai dans l'as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var _s:String = "<item><name>xxx</name><code>ww</code></item><item><name>yyy</name><code>zzz</code></item>"
    Et j'aurais voulu afficher cela dans un datagrid. J'ai essayé un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <mx:DataGrid height="100%" width="100%" dataProvider="{new XML(_s).item}" >
    									<mx:columns>
    										<mx:DataGridColumn headerText="Nom" dataField="name" />
    										<mx:DataGridColumn headerText="Code" dataField="code" /> 
    																</mx:columns>
    								</mx:DataGrid>
    Mais ça ne fonctionne pas. Une idée ?

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    au lieu de mettre ton XML dans un String, mets le dans un XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var xml:XML = <item><name>xxx</name><code>ww</code></item><item><name>yyy</name><code>zzz</code></item>;
     
    tonDataGrid.dataProvider = xml;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    oui, je sais :-)

    Bon, pour expliquer plus en détail.
    J'ai un objet sur lequel j'aimerais y un mettre un log lorsque certaines actions sont faites dessus.
    Mes objets sont des tâches.
    Lorsque je crée la tâche, je mets dans la base de données
    <log><action>CREATE</action><iduser>78787</iduser><date></date></log>

    Lorque la tâche est validée, je rajoute dans ma db à la suite :

    <log><action>ALTER</action><iduser>76565</iduser><date></date></log>

    et ainsi de suite.

    Maintenant de cette information est correctement stokée dans la base de données, j'essaye de l'afficher dans une datagrid de flex.
    En flex, je recupère la valeur de log sous forme d'une string
    Dans mon cas ici, je reçois :

    <log><action>CREATE</action><iduser>78787</iduser><date></date></log>
    <log><action>ALTER</action><iduser>76565</iduser><date></date></log>

    Or je n'arrive pas à le visualiser dans un datagrid.

    J'ai avancé un peu.

    Si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [Binding]
    var _s:String = "<content>" + <log><action>ALTER</action><iduser>76565</iduser><date></date></log> + "</content>"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mx:DataGrid height="100%" width="100%" dataProvider="{(new XMLList((new XML(_s)).log))}" >

    Mais si je reprends le même string du serveur, ça ne fonctionne pas ...

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    et pourquoi pas transposer directement ta chaine en xml ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var chaine:String = "...";
    var xml:XML = XMLList(chaine);
     
    tonDataGrid.dataProvider = xml;

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    ça marche avec le code
    - tonDataGrid.dataProvider = xml;

    et pas avec

    <mx:dataGrid provider="{xml}" />

    m'enfin, pas grave, ça marche maintenant

    Merci

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

Discussions similaires

  1. Récupération de donnée XML dans un DataGrid
    Par zenadrith dans le forum Flex
    Réponses: 0
    Dernier message: 03/06/2010, 11h03
  2. Visu des données xml dans un datagrid
    Par stephanebriard dans le forum Windows Forms
    Réponses: 0
    Dernier message: 29/08/2009, 16h35
  3. Ajout aléatoire d'une String dans une balise XML à partir d'un tableau de String
    Par chebmo1986 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 19/03/2009, 11h21
  4. afficher du xml dans un datagrid
    Par koromac dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/09/2007, 09h32
  5. Réponses: 13
    Dernier message: 14/06/2004, 15h35

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