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.