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 :

Probleme Refresh Datagrid


Sujet :

Flex

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2010
    Messages : 61
    Points : 37
    Points
    37
    Par défaut Probleme Refresh Datagrid
    Bien le bonjour,

    Et oui, encore et toujours empêtré dans des problèmes...
    Cette fois ci, il s'agit de mon Datagrid!

    Je pose le problème...

    Je possède des fichiers xml que j'appelle via un httpservice...celui ci les envoit dans une fonction qui les "découpe" et qui les introduit dans le datagrid...
    Jusque là pas de problèmes...
    L'utilisateur peut choisir grâce à une combobox, l'xml qu'il souhaite afficher...
    Toujours pas de problèmes!

    Sauf que, si l'utilisateur sélectionne un xml qui prend disons 10lignes dans le datagrid, celui ci marche parfaitemment, mais, si ensuite il en sélectionne un deuxieme qui ne prend que 5 lignes...
    Le datagrid va se raffraichir seulement pour les 5 premieres lignes...
    Du coup, le datagrid affiché au final comportera le dernier xml choisi + le reste des affichages précédents... et c'est ce que j'aimerai enlever..

    Un petit schéma explicatif...



    Datagrid avec premier xml choisi

    fichier1 ligne1
    fichier1 ligne2
    fichier1 ligne3
    fichier1 ligne4
    fichier1 ligne5

    Datagrid avec deuxième xml choisi

    fichier2 ligne1
    fichier2 ligne2
    fichier2 ligne3
    fichier1 ligne4
    fichier1 ligne5

    Je vous remercie par avance!

    Ps: je joins le code en attaché si vous avez besoin (pour ne pas trop "polluer" le sujet avec des lignes peut etre inutiles)
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Points : 310
    Points
    310
    Par défaut
    Bonjour,

    C'est pas par hasard un probleme de ton dataProvider qui ne se rafraichis pas ou bien tu supprime pas les éléments précédents, je te conseille de faire un removeAll() de ton dataProvider avant de lui affecté des nouvelles données

    Bon courage
    http://www.m-ataf.com (En cours de construction)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2010
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Hello Samy,

    ce removeAll() est une fonction de base..?
    Je le réalise quand le choix de la combobox est fait non..?
    Si non, quand est ce que je l'appelle..?

  4. #4
    Membre averti Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Points : 310
    Points
    310
    Par défaut
    En faite moi je pars sur le faite que tu utilise un arrayCollection comme dataProvider tu vois donc si c le cas oui c'est une fonction de base, sinon

    je pense dans tous les cas il faut réinitialiser ton dataProvider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    maGrid.dataProvider = new arrayCollection () // si c un arrayCollection 
    maGrid.dataProvider = new XML () // si c un xml
    le but c'est de réinitialiser ton dataProvider de ta dataGrid

    voila
    http://www.m-ataf.com (En cours de construction)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2010
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Arf^^

    Le temps que je teste ton removeAll(), tu avais déjà posté autre chose...

    Du coup ça marche si avec le srv.send() je met dg.dataprovider.removeAll()..

    Je te remercie du coup ^^

  6. #6
    Membre averti Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Points : 310
    Points
    310
    Par défaut
    no soucie, si ton probleme est réglé n'oublie pas le tag résolu comme disent les modérateurs lol
    http://www.m-ataf.com (En cours de construction)

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    J'ai regardé ton code map.txt. Juste quatre remarques, si je peux me permettre :

    1- pourquoi tu n'utilises pas directement col1 et col2 comme source de données de tes DataGrid ?

    2- lorsque tu remplis un Array tu peux utiliser la méthode push() ce qui t'évites la gestion des index x et y.

    3- Le test "i<results.length-1" ne devrait-il pas être "i<results.length" car dans le premier cas tu ignores le dernier élément du tableau (mais c'est peut-être voulu).

    4- if(results[i] !=0) est censé tester quelle valeur ? results étant le résultat de String.split, c'est un tableau de String. La comparaison à un entier de valeur 0 n'est pas très intuitif !
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2010
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Hello jylaxx,

    Je vais essayer de répondre rapidemment à tes indications^^

    1°)col1 et col2 remplissent chacun un datagrid,donc elle sont les sources de données non..? Sinon tu entends peut être par là que j'utilise results..?

    2°)Je ne connaissais pas la méthode push() du coup, je tombe dans la facitilité des x et y...qui sont peut etre plus compréhensible si quelqu'un doit prendre le code ensuite..

    3°)C'est juste un oublis par rapport à un test précédent, merci de l'avoir remarqué^^

    4°)Lors de mon découpage du string, le split coupe aux ";" et sauts de ligne, donc parfois j'ai deux découpages d'affilés, du coup j'ai des cases dans l'array qui sont vide...et comme le "null" marchait pas...j'ai dû mettre !=0...

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    1°)col1 et col2 remplissent chacun un datagrid,donc elle sont les sources de données non..? Sinon tu entends peut être par là que j'utilise results..?

    Le mot clef de ma remarque était "directement" ...
    En effet plutôt que de lier directement col1 à dg1 avec dataProvider="{col1}" et en ajoutant le tag [Bindable], tu affectes col1 à dg1.dataProvider dans le code. En pratique cela ne change pas grand chose sauf que le code est un peu moins facile à lire.


    2°)Je ne connaissais pas la méthode push() du coup, je tombe dans la facitilité des x et y...qui sont peut etre plus compréhensible si quelqu'un doit prendre le code ensuite..

    Amusant, parce que j'ai eu l'impression exactement contraire en le lisant. D'ailleurs su tu avais utilisé le push tu aurais détecté ton erreur initiale beaucoup plus facilement car les données auraient été ajoutées les unes à la suite des autres et non pas mélangées.

    3°)C'est juste un oublie par rapport à un test précédent, merci de l'avoir remarqué^^

    You're welcomed...

    4°)Lors de mon découpage du string, le split coupe aux ";" et sauts de ligne, donc parfois j'ai deux découpages d'affilés, du coup j'ai des cases dans l'array qui sont vide...et comme le "null" marchait pas...j'ai dû mettre !=0...

    Compte tenu des règles de conversion implicite String <-> int, je suis surpris que cela fonctionne dans tous les cas. Il y a au moins un contre exemple, si la chaine testée est égale à "0", "00", "000", "0x0" etc. alors elle sera écartée.
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

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

Discussions similaires

  1. Probleme refresh fichier joint
    Par princenamor dans le forum Struts 1
    Réponses: 1
    Dernier message: 26/02/2007, 17h59
  2. probleme de Datagrid
    Par More dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/02/2007, 21h17
  3. probleme de datagrid
    Par intic dans le forum Accès aux données
    Réponses: 1
    Dernier message: 20/11/2006, 17h14
  4. [C++.Net] Probleme combobox & datagrid
    Par raboin dans le forum VC++ .NET
    Réponses: 16
    Dernier message: 12/04/2006, 16h33
  5. Probleme Refresh
    Par lemagicien dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/11/2005, 11h16

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