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 :

HTTPService Events - Comportement étrange [Flex3]


Sujet :

Flex

  1. #1
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut HTTPService Events - Comportement étrange
    Bonjour

    Un Event capricieux, c'est le moins que l'on puisse dire.

    Si j'ai 2, 5, 10, ou 100 résultats, acun souci d'affichage dans mon datagrid.

    Mais si j'en ai plus qu'un seul, il ne s'afffiche pas. (???)
    Franchement, il y a quelque chose qui m'échappe dans cette méthode.

    Ou alors, faut-il qu'il y ait au minimum 2 résultats pour que ce soit fonctionnel ?

    Si vous avez une réponse, je vous en remercie par avance.

    Sources :

    Fichier appel.php qui utilise une méthode XML simple :
    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
    <?xml version="1.0" encoding="utf-8"?>
    <liste>
     
        <fiche id="1">
            <nom>.........</nom>
            <lieu>........</lieu>
            <date>........</date>
        </fiche>
        <fiche id="2">
            <nom>.........</nom>
            <lieu>........</lieu>
            <date>........</date>
        </fiche>
     
    </liste>
    AS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [Bindable] private var Rep:ArrayCollection;
     
                private function resultHandler(event:ResultEvent):void
                {
                    Rep = event.result.liste.fiche;
                }
                private function faultHandler(event:FaultEvent):void
                {
                    Alert.show(event.fault.faultDetail, "Erreur de requête");
                }
    mxml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <mx:HTTPService id="etat" url="appel.php" useProxy="false" method="POST"
            result="resultHandler(event)"
            fault="faultHandler(event)"/>
     
    <mx:DataGrid dataProvider="{Rep}" width="100%" height="100%">
            <mx:columns>
                <mx:DataGridColumn dataField="id" headerText="Id"/>
                <mx:DataGridColumn dataField="nom" headerText="Nom"/>
                <mx:DataGridColumn dataField="lieu" headerText="Lieu"/>
                <mx:DataGridColumn dataField="date" headerText="Date"/>
            </mx:columns>
        </mx:DataGrid>
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  2. #2
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Bonsoir,

    Je ne pense pas que c'est lié mais on ne sait jamais dans la doc officielle, on recommande ceci pour récupérer les valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Rep = event.result.fiche;
    A toi de voir si ça change quelque chose ou pas. Perso ça m'étonnerait mais il est vrai que ton erreur est étrange ...

  3. #3
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    Bonsoir Ellene,

    Non, pire encore, je n'ai plus aucun affichage en suivant cette reco.

    Ce qui me surprend, c'est que mes sources sont viables et fonctionnelles.
    Apparemment, ce serait un probléme du nombre de noeuds dans le fichier xml...but why ?
    D'où ma question, cette méthode n'est pas exploitable quand il n'y a qu'un seul résultat. (?)

    C'est cela que je ne comprends pas.

    En résumé :
    Si résultat >=2 ( Affichage des variables)
    Si résultat <=1 ( Pas d'affichage des variables)

    C'est quand même dingue, non ?



    [Edit] Heu...je voulais dire, frustrant.
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  4. #4
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Bonjour,

    est-ce que par hasard l'objet retourné par event.result.liste.fiche ne serait pas un tableau si plusieurs éléments sont trouvés ou un objet "fiche" si un seul élément correspond ?

  5. #5
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    Par défaut
    Bonjour

    Ok , pigé du pourquoi de ce probléme.
    Je ne sais pas si on doit qualifier cette bizarrerie, de bug mais ce serait un "problème" lié au moteur flash.
    => Un seul résultat XML ne peut pas être converti en ArrayCollection.
    Bon, fallait le savoir, et je trouve celà un peu ballot.

    Si cela peut servir à d'autres, fichier modifé :
    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
     
    import mx.controls.Alert;
                import mx.collections.ArrayCollection;
                import mx.rpc.events.ResultEvent;
                import mx.rpc.events.FaultEvent;
                import mx.utils.ArrayUtil;  // Rajout
                import mx.utils.ObjectProxy; // Rajout
     
    [Bindable] private var Rep:ArrayCollection;
     
     
                private function resultHandler(event:ResultEvent):void
                 {
                   if (event.result.liste.fiche is ArrayCollection) 
                 {
                 Rep = event.result.liste.fiche;
                 } 
                   else if (event.result.liste.fiche is ObjectProxy)  
                 {
                 Rep = new ArrayCollection(ArrayUtil.toArray(event.result.liste.fiche)); 
                 }  
                 }
    Lien :
    swflair.blogspot

    Beekeep était proche de l'explication.

    Merci à vous deux.
    Bonne journée
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

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

Discussions similaires

  1. HTTPservice - comportement étrange.
    Par alain31tl dans le forum Flex
    Réponses: 3
    Dernier message: 07/06/2009, 14h06
  2. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27
  4. [Système][Runtime][Exec] Comportement étrange au lancement de BeSweet
    Par divxdede dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2004, 09h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

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