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 :

Sélectionner un Item dans une ComboBox [Flex4]


Sujet :

Flex

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Sélectionner un Item dans une ComboBox
    Bonjour à tous,

    Je me permets de faire appel à la communauté car je bloc depuis un bon moment sur un problème de ComboBox. Il s'agit d'un espace d'administration web.

    Sun un composant MXML, j'ai entre autre 2 combobox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <s:Label x="283" y="20" text="Type règlement :"/>
      <mx:ComboBox id="mc_id_reglement" x="387" y="12" width="111"
          dataProvider="{ReglementsList.reglement}"
          labelField="nom_reglement" prompt="Selectionnez">
      </mx:ComboBox>
      <s:Label x="540" y="20" text="Type expédition :"/>
      <mx:ComboBox id="mc_id_transport" x="643" y="12" width="112"
          dataProvider="{TransportsList.transport}"
          labelField="nom_transport" prompt="Selectionnez">
      </mx:ComboBox>
    C'est deux dernières sont alimentées respectivement par deux sources de données :

    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
     
    //Recupere les types de reglements
       private function getReglements():void{
        getXmlReglements.send();
       }
     
       //Génération de la liste des type de reglement
       [Bindable]
       public var ReglementsList:XML;
       private function getXmlReglementsHandler(event:ResultEvent):void{
        ReglementsList = event.result as XML;
       }
     
       //Recupere les types de transports
       private function getTransports():void{
        getXmlTransports.send();
       }
     
       //Génération de la liste des type de transports
       [Bindable]
       public var TransportsList:XML;
       private function getXmlTransportsHandler(event:ResultEvent):void{
        TransportsList = event.result as XML;
       }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <mx:HTTPService id="getXmlReglements" url="http://www.mondomaine.fr/test/admin/xml/liste_reglements.php" result="getXmlReglementsHandler(event)" useProxy="false" method="POST" resultFormat="e4x" showBusyCursor="true"/>
      <mx:HTTPService id="getXmlTransports" url="http://www.mondomaine.fr/test/admin/xml/liste_transports.php" result="getXmlTransportsHandler(event)" useProxy="false" method="POST" resultFormat="e4x" showBusyCursor="true"/>
    Jusque là tout va bien, les deux combobos sont alimentées correctement, par contre, s'agissant d'une page permettant de modifier des informations, je souhaite selectionner un item dans chaque combobox, et là çà se complique. Voici mon code ci-dessous pour selectionner les bons items dans les listes déroulantes, et mon soucis et que cela fonctionne aléatoirement une fois sur 2 en moyenne. Quand cela ne fonctionne pas et que les items ne sont pas selectionnés, j'ai comme message d'erreur :

    TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
    at Modification_Commande/getCommandeHandler()[C:\Users\Thomas\Desktop\admin\src\Modification_Commande.mxml:116]
    at Modification_Commande/__get_commande_result()[C:\Users\Thomas\Desktop\admin\src\Modification_Commande.mxml:375]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at HTTPOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\4.y\frameworks\projects\rpc\src\mx\rpc\http\HTTPService.as:993]
    at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E:\dev\4.y\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:318]
    at mx.rpc::Responder/result()[E:\dev\4.y\frameworks\projects\rpc\src\mx\rpc\Responder.as:56]
    at mx.rpc::AsyncRequest/acknowledge()[E:\dev\4.y\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:84]
    at DirectHTTPMessageResponder/completeHandler()[E:\dev\4.y\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:451]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

    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
     
    private function getCommandeHandler(event:ResultEvent):void{
        commandeXml = event.result as XML;
        mc_id_commande.text = commandeXml.id_commande;
        mc_date_commande.text = commandeXml.date_commande;
        mc_date_reglement.text = commandeXml.date_reglement;
        mc_date_expedition.text = commandeXml.date_expedition;
        mc_tracking.text = commandeXml.tracking;
        mc_confidentiel.text = commandeXml.confidentiel;
     
        //selection du status de la commande
        mc_status.selectedIndex = commandeXml.status;
     
        //selection du type d'expedition
        for(var i:Number=0;i<TransportsList.transport.length();i++){
         if(TransportsList.transport[i].id_transport == commandeXml.id_transport){
          mc_id_transport.selectedIndex = i;
         }
        }
     
        //selection du type de reglement
        for(var j:Number=0;j<ReglementsList.reglement.length();j++){
         if(ReglementsList.reglement[j].id_reglement == commandeXml.id_reglement){
          mc_id_reglement.selectedIndex = j;
         }
        }
       }
    Je vous remercie par avance, si quelqu'un peu m'indiquer dans quel sens orienter mes recherches sachant que je bloque la dessus depuis déjà pas mal d'heures malheureusement...

    Merci et bonne soirée.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Re Bonjour,

    Je viens enfin de résoudre la totalité du problème.

    Pour se faire, j'ai charger le fichier XML dans le main.mxml et non dans le composant en question, de ce fait, plus aucun soucis...

    Merci encore pour ceux qui auront pris le temps de me lire.

    Bonne soirée.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/12/2009, 14h41
  2. selection d'un item dans une ComboBox remplie via WCF
    Par Lazslo dans le forum Silverlight
    Réponses: 0
    Dernier message: 18/11/2008, 20h01
  3. Sélectionner des Items dans une ListBox
    Par berpi dans le forum Débuter
    Réponses: 3
    Dernier message: 07/02/2008, 22h56
  4. Création d'items dans une comboBox
    Par Nicolas2074 dans le forum Sharpdevelop
    Réponses: 3
    Dernier message: 26/04/2007, 09h49
  5. [C#] Empecher de sélectionner un élément dans une combobox
    Par padodanle51 dans le forum Windows Forms
    Réponses: 23
    Dernier message: 11/07/2006, 15h54

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