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 :

Remplir un data grid avec fichier XML externe


Sujet :

Flex

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut Remplir un data grid avec fichier XML externe
    Bonjour,
    Comme beaucoup je me lance dans la programmation FLEX.
    J'utilise le plugg in eclipse et je souhaite remplir un datagrid avec un fichier XML externe. Apres avoir parcouru qques articles sur le web j'ai bien réussi a affiché dans un FormItem la valeur d'un attribut de mon fichier mais je ne parvient pas remplir mon DataGrid de manière statique et eventuellement de maniere dynamique.
    Je post mon code (qui est assez simple).
    Merci de votre aide.
    Le code mxml :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?xml version="1.0"?>
    <!-- DataGrid control example. -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
     
       <mx:XML id="fichierXML" source="MyXML.xml"/>
        <mx:Panel title="DataBase Employee" height="100%" width="100%" 
            paddingTop="10" paddingLeft="10" paddingRight="10">
     
            <mx:Label width="100%" color="blue"
                text="Select a row in the DataGrid control."/>
     
            <mx:DataGrid id="dg" width="100%" height="100%" rowCount="1" dataProvider="{fichierXML}">
                <mx:columns>
                    <mx:DataGridColumn dataField="{fichierXML.personne[0].adresse.nom}" headerText="Name"/>
                    <mx:DataGridColumn dataField="{fichierXML.personne[0].adresse.prenom}" headerText="Phone"/>
                    <mx:DataGridColumn dataField="{fichierXML.personne[0].adresse.nom}" headerText="Email"/>
                </mx:columns>
            </mx:DataGrid>
     
            <mx:Form width="100%" height="100%">
                <mx:FormItem label="Name">
                    <mx:Label text="{fichierXML.personne[1].adresse.nom}"/>
                </mx:FormItem>
                <mx:FormItem label="Prenom">
                    <mx:Label text="{fichierXML.personne[1].adresse.prenom}"/>
                </mx:FormItem>
                <mx:FormItem label="Street">
                    <mx:Label text="{fichierXML.personne[1].adresse.@numero}-{fichierXML.personne[1].adresse.@rue}"/>
                </mx:FormItem>
            </mx:Form>
     
        </mx:Panel>
    </mx:Application>
    Le contenu de mon fichier xml :
    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
    20
    21
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    	<personne>
    		<adresse rue="rue de la liberation" numero="36" >
    			<nom>Franck</nom>
    			<prenom>Michael</prenom>
    		</adresse>
    	</personne>			
    	<personne>
    		<adresse rue="boulevard hoch" numero="13" >
    			<nom>Arthur</nom>
    			<prenom>Rambo</prenom>
    		</adresse>
    	</personne>
    	<personne>
    		<adresse rue="avenue leclerc" numero="45" >
    			<nom>Nina</nom>
    			<prenom>Simone</prenom>
    		</adresse>
    	</personne>
    </root>

  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
    tu as un exemple simple dans un article que j'ai écrit sur mon blog

    regarde bien comment dans mon renderer je choisit l'élément de mon ficier xml que je souaites afficer (data.tonElement)

    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 actif Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Points : 252
    Points
    252
    Par défaut
    Salam skunkies,

    J'ai modifié ton code pour que ça marche, avec un changement du formulaire à chaque fois que tu click sur une ligne du Datagrid

    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
    20
    21
    22
    23
    24
    25
    26
    	<mx:XML id="fichierXML" source="MyXML.xml"/>
    	<mx:Panel title="DataBase Employee" height="100%" width="100%" 
            paddingTop="10" paddingLeft="10" paddingRight="10">
     
            <mx:Label width="100%" color="blue"
                text="Select a row in the DataGrid control."/>
     
            <mx:DataGrid id="dg" width="100%" height="100%" rowCount="1" dataProvider="{fichierXML.personne.adresse}">
                <mx:columns>
                    <mx:DataGridColumn dataField="nom" headerText="Nom"/>
                    <mx:DataGridColumn dataField="prenom" headerText="Prenom"/>
                </mx:columns>
            </mx:DataGrid>
     
            <mx:Form width="100%" height="100%">
                <mx:FormItem label="Nom">
                    <mx:Label text="{dg.selectedItem.nom}"/>
                </mx:FormItem>
                <mx:FormItem label="Prenom">
                    <mx:Label text="{dg.selectedItem.prenom}"/>
                </mx:FormItem>
                <mx:FormItem label="Adresse">
                    <mx:Label text="{dg.selectedItem.@numero}-{dg.selectedItem.@rue}"/>
                </mx:FormItem>
            </mx:Form>
    	</mx:Panel>
    Bon courage, @ ciao bonsoir!
    --------------
    Mettre le Tag est aussi une aide aux développeurs

  4. #4
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    A droite de chaque ligne du DataGrid, je place un Button,

    le click du Button exécute une méthode download(var:URLRequest), donc var est gettée depuis le dataProvider.

    Naivement j'ai codé ca, qui est incohérent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <mx:Repeater dataProvider="{srv.lastResult.dataType}">
           <mx:Button label="telecharger" click="download({currentItem.downloadURl})"/>
    </mx:Repeater>
    y a t il une solution plus simple qu'implémenter tout le système de providing dans la fonction download ?

    Merci

  5. #5
    Membre actif Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Points : 252
    Points
    252
    Par défaut
    Salam ttone,

    Est-ce que ton post est une question ou une réponse? en plus ça rentre dans quel sujet? je ne comprends pas.
    Bon courage, @ ciao bonsoir!
    --------------
    Mettre le Tag est aussi une aide aux développeurs

  6. #6
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    Mmmm désolé, c'est vrai que c'est limite HorsSujet.
    Disons qu'avec un mx:Repeater on est un peu dans le remplissage d'un DataGrid, disons dans le remplissage en général avec un dataProvider.

    J'ouvre un topic pour ca...

Discussions similaires

  1. variable avec fichier XML
    Par Lilliputien dans le forum ActionScript 3
    Réponses: 7
    Dernier message: 28/12/2009, 22h26
  2. [AJAX] variable avec fichier XML
    Par Lilliputien dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 17/09/2008, 11h47
  3. Réponses: 12
    Dernier message: 19/08/2008, 15h10
  4. [XML] [cURL] Lire un fichier XML externe
    Par taka10 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/08/2007, 11h42
  5. Création QCM avec fichier xml
    Par Ella68 dans le forum Flash
    Réponses: 1
    Dernier message: 29/05/2007, 18h44

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