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 :

Relire un xml toute les x sec et rafraichir l'écran


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 Relire un xml toute les x sec et rafraichir l'écran
    Bonjour,

    Je débute dans flex et je suis face à un problème que je n'arrive pas à résoudre. J'ai un écran (un datagrid) qui affiche des données d'un fichier xml.
    J'aimerais que toute les 1sec, flex relire le fichier xml et que si il change, le datagrid se mette à jour.
    Je crois que j'arrive à faire à peu près tout, sauf que les données de l'écran ne change pas alors que je modifie les données du xml.
    Voici un code de test :

    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
    34
    35
    36
    37
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();" >
        <mx:Script>
        	<![CDATA[
        		import flash.utils.Timer;
                import flash.events.TimerEvent;
     
                private const TIMER_INTERVAL:int = 10000;
                private var t:Timer;
     
                private function init():void {
                	   monXML.send();
                    t = new Timer(TIMER_INTERVAL);
                    t.addEventListener(TimerEvent.TIMER, updateTimer);
                    t.start();
                }
     
                private function updateTimer(evt:TimerEvent):void {
    				monXML.send();
    				mesData.refresh();
                } 
        	]]>
        </mx:Script>
    	<mx:HTTPService id="monXml" url="xml/monXML.xml" useProxy="false" resultFormat="e4x"  />
     
    	<mx:XMLListCollection id="mesData" source="{monXML.lastResult.coul}" />
     
    	<mx:Panel width="1024" height="240" layout="absolute" title="Informations">
    	<mx:DataGrid  x="0" y="0" width="1004" height="200" dataProvider="{mesData}">
    		<mx:columns>
    			<mx:DataGridColumn dataField="x1" headerText="X1" width="60"/>
    			<mx:DataGridColumn dataField="x2" headerText="X2 width="30"/>
    		</mx:columns>
    	</mx:DataGrid>
    	</mx:Panel>
    </mx:Application>


    Quelqu'un verrait-il ou est mon erreur ?

    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Bonjour,

    Je n'en suis pas très sûre mais je pense que c'est un problème de binding. Il est dans le mauvais sens et c'est pour cette raison qu'il ne se met pas à jour.

    Si tu ajoutes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <mx:Binding source="mesData"
                destination="maDataGrid.provider" />
    Il devrait le mettre à jour. Bon je n'ai pas testé mais normalement c'est dans ce sens (sinon tu inverses la valeur de source avec destination).

    ++

  3. #3
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Bonsoir

    C'est une suggestion que j'avais proposé à un membre.

    http://www.developpez.net/forums/d69...-apres-maj-bd/

    Peut-être une solution à votre attente ?
    Cdt

  4. #4
    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
    Merci de vos réponse mais je crois que le problème est autre.

    Donc je lis un fichier qui se trouve sur le serveur.
    Je pense que le HttpService.send() va chercher le fichier dans le cache et ne recharge pas à chaque fois le fichier xml.
    Il pense que le fichier n'a pas changé et donc ne prend pas la peine de le charger.

    Il a t'il un moyen pour obliger le HttpService.send() à prendre le fichier là ou il est et non pas dans le cache ?

    Merci

  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
    Je viens de faire un autre test.
    Mon code fonctionne parfaitement sous firefox et ne fonctionne pas sous IE !

    Quelqu'un aurait-il une idée ?
    Flash est bien une technologie portable sur différente platforme et tout type de browser ??

  6. #6
    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
    Par défaut
    oui flash est cross browser / cross platform dans la théorie après chacune des plateformes et des browsers ont leur spécificité donc il persiste des bugs. Dans ton cas , ca sent le problème de cache du navigateur à plein nez

    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

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/06/2014, 13h58
  2. [XSLT] comment afficher toutes les données d'un fichier xml ?
    Par bwwilly dans le forum XSL/XSLT/XPATH
    Réponses: 19
    Dernier message: 27/06/2007, 16h21
  3. un document XML qui référence toutes les URL
    Par abdallah2007 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 04/06/2007, 09h48
  4. comment faire un document XML qui référence toutes les URL
    Par abdallah2007 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 01/06/2007, 10h14
  5. [AJAX] Affichage d'un xml + mise a jour automatique toutes les x sec
    Par WeDgEMasTeR dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/05/2007, 10h30

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