Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 13h45   #1
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
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 :
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 :
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 ?
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 14h52   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour,

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

Code :
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;
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h40   #3
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
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 :
1
2
3
 
[Binding]
var _s:String = "<content>" + <log><action>ALTER</action><iduser>76565</iduser><date></date></log> + "</content>"

Code :
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 ...
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h52   #4
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
et pourquoi pas transposer directement ta chaine en xml ?

Code :
1
2
3
4
5
 
var chaine:String = "...";
var xml:XML = XMLList(chaine);
 
tonDataGrid.dataProvider = xml;
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 16h47   #5
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
ça marche avec le code
- tonDataGrid.dataProvider = xml;

et pas avec

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

m'enfin, pas grave, ça marche maintenant

Merci
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h04.


 
 
 
 
Partenaires

Hébergement Web