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 :

filtre sur fichier xml


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut filtre sur fichier xml
    Salut,

    Voilà je voudrais faire quelques choses mais je ne sais pas si c'est possible, j'espère que vous me direz oui^^.
    Donc j'ai un fichier xml comme suit:
    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
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
    	<contact>
    		<id_contact>1</id_contact>
    		<nom>emma</nom>
    		<mail>test@mail.com</mail>
    		<info>info</info>
    	</contact>
    	<contact num=3>
    		<id_contact>3</id_contact>
    		<nom>julien</nom>
    		<mail>julien</mail>
    		<info>julien</info>
    	</contact>
    	<contact>
    		<id_contact>4</id_contact>
    		<nom>marc</nom>
    		<mail>marc</mail>
    		<info>marc</info>
    	</contact>
    	<contact>
    		<id_contact>5</id_contact>
    		<nom>infoa</nom>
    		<mail>mailc</mail>
    		<info>infob</info>
    	</contact>
    </root>
    Depuis flex j'aimerais pouvoir grâce à des dropdownlist faire des filtres qui me permettront d'afficher que certain contact dans un datagrid. J'ai une dropdown list qui me propose de choisir tout les attributs du contact par exemple nom, mail... mon deuxième dropdownlist me propose en fonction du premier choix les valeurs de ces attributs par exemple si je choisit nom il me proposera emma,marc,julien...
    Donc depuis flex je récupère les chois dans des variables string.
    Ce que j'aimerais faire et qui me pose problème c'est pouvoir donc pouvoir afficher la ligne qui m'affichera seulement les données de emma par exemple si je choisit ce nom.
    J'avais pensé à quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	var valeur:XMLListCollection = new XMLListCollection(fichierXML.contact.nom==emma);
    	dataGrid.dataProvider=valeur;
    Voilà en faite j'aimerais savoir quoi mettre à la place de nom==emma

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Salut,
    ne pourrais tu pas plutôt remplir ta datagrid à partir de ton xml, et appliquer une filterFunction à ta grid , en fonction des valeurs sélectionnées dans les combobox ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut
    Oui ça fonctionnerait aussi, mais comment implémenter tout ça tu as une idée?

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Oui ce n'est pas bien compliqué, mais il va falloir que tu cherches un peu de ton côté aussi , d'autant plus que les articles sur ce genre de sujet sont nombreux sur la toile ..
    Je risque de faire de la paraphrase de mon post précédent, mais voici en gros ce que tu dois faire :

    - Récupérer ton xml, remplir le dataprovider de ta datagrid avec les données
    2 exemples : (http://journal.third-road.net/2007/0...s-donnees-xml/, et http://journal.third-road.net/2007/0...s-donnees-xml/)
    - affecter une filterFunction sur la grid :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mx:AdvancedDatagrid id="myDG" filterFunction="myDGFilterFunction" />
    Et la filterfunction :

    private function myDGFilterFunction(obj:Object):Boolean {
    var containsSurname:Boolean = (obj.name == mySurnameCombobox.selectedLabel);
    var containsFirstname:Boolean = (obj.prenom == myfirstnameCombobox.selectedLabel);
    var res:Boolean = containsSurname && containsFirstname;
    return res;
    }
    Pour chaque item de ton dataprovider il vérifie la condition spécifiée. si celle-ci est vérifiée (res == true), alors la donnée est affichée et le contraire si res == false.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut
    Ok merci j'ai cherché et j'ai compris j'arrive à faire ma fonction de tri, le soucis c'est que j'ai une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:DataGrid x="10" y="10" id="dataGrid" height="342" width="722" filterFunction="myDGFilterFunction">
    Apparemment je peux pas mettre l'attribut filterfunction sur mon datagrid.

    J'obtiens l'erreur: impossible de résoudre l'attribut filterfunction pour le type de composant ... datatgrid.

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Oui car tu utilises une datagrid, et non une advancedDatagrid. N'oublie pas de jeter un coup d'oeil dans la doc ...

Discussions similaires

  1. Combobox par SELECT sur fichier XML
    Par zouzou99 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 16/04/2008, 07h00
  2. Perl + Twig => operations sur fichier XML
    Par tsunamijf dans le forum Modules
    Réponses: 4
    Dernier message: 04/03/2008, 10h45
  3. Requête sur fichier XML
    Par migutz dans le forum VB.NET
    Réponses: 1
    Dernier message: 09/11/2007, 15h34
  4. [XML] Quizz basé sur fichier XML
    Par Heilong dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/10/2007, 14h16
  5. [AJAX] requête sur fichier.xml => erreur 405 sous IE !
    Par jeje13009 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 26/03/2007, 21h42

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