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

ActionScript 3 Discussion :

caster une valeur en Actionscript


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 4
    Par défaut caster une valeur en Actionscript
    Bonjour,

    Voici les éléments à partir desquels je code mon appli.:
    j'ai un 1er fichier
    siteslist.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <SITES>
        <ITEM><NAME>usine1</NAME><CODE>USN1</CODE></ITEM>
        <ITEM><NAME>depot1</NAME><CODE>DEP1</CODE></ITEM>
        <ITEM><NAME>usine2</NAME><CODE>USN2</CODE></ITEM>
    </SITES>

    et un 2nd fichier
    resourceslist.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <USN1>
        <ITEM><NAME>resource1</NAME><CODE>RES1</CODE></ITEM>
        <ITEM><NAME>resource2</NAME><CODE>RES2</CODE></ITEM>
        <ITEM><NAME>resource3</NAME><CODE>RES3</CODE></ITEM>
    </USN1>
     
    <USN3>
        <ITEM><NAME>machine1</NAME><CODE>MCH1</CODE></ITEM>
        <ITEM><NAME>machine2</NAME><CODE>MCH2</CODE></ITEM>
        <ITEM><NAME>machine3</NAME><CODE>MCH3</CODE></ITEM>
        <ITEM><NAME>machine4</NAME><CODE>MCH4</CODE></ITEM>
    </USN3>
    La logique de l'interface utilisateur (UI) est la suivante:
    l'utilisateur sélectionne une valeur dans la ComboBox1
    ComboBox1 (sites):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <option value="USN1">usine1</option>
    <option value="DEP1">depot1</option>
    <option value="USN2">usine2</option>
    et selon l'option sélectionnée et donc la valeur renvoyée il aura une
    ComboBox2 (resources) qui affichera, soit:
    1er cas de figure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <option value="RES1">resource1</option>
    <option value="RES2">resource2</option>
    <option value="RES3">resource3</option>
    si usine1 est sélectionnée donc la valeur USN1 renvoyée

    2eme cas de figure
    rien si depot1 est sélectionnée

    3eme cas de figure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <option value="MCH1">machine1</option>
    <option value="MCH2">machine2</option>
    <option value="MCH3">machine3</option>
    <option value="MCH4">machine4</option>


    Dans mon code Actionscript:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?xml version="1.0"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#000000" creationComplete="init()">
    <mx:XML id="siteslist" source="./assets/siteslist.xml" />
    <mx:XML id="resourceslist" source="./assets/resourceslist.xml" />
     
    <mx:Script>
        <![CDATA[
    ...
     
    // Manage resources dropdown display
    private var selectedsite:String = new String('FR');
    private function onChangeSite(event:Event):void{
      selectedsite = sites.selectedItem.code;
      populateResourceList();
    }
     
    [Bindable]
    private var arr_resource:Array = new Array();
    private var _resources:ArrayCollection = new ArrayCollection();
     
     
    private function populateResourceList():void{
    if(selectedsite=='USN1'||selectedsite=='USN2')
    {
      resources.visible = true;
        for each(var node:XML in resourceslist..selectedsite.ITEM)
         {
            arr_resource.push({label:node.NAME, code:node.CODE});
         }
         _resources.source = arr_state;
     
    }
    else
    {
      resources.visible = false;
    }
     
        ]]>
    </mx:Script>
     
    ...
     
    <mx:ComboBox id="sites" dataProvider="{_sites}" close="onChangeSite(event);"/>
     
    <mx:ComboBox id="resources" dataProvider="{_resources}" close="onChangeSite(event);" visible="false"/>
     
    ...
     
    </mx:Application>
    Le problème est le suivant:
    j'aimerais utiliser la valeur renvoyée par la ComboBox1 pour définir le noeud dans lequel je vais chercher les options (dans resourceslist.xml) de la ComboBox2.
    Seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resourceslist..selectedsite.ITEM
    ne marche pas. Si je teste en mettant une valeur directement du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resourceslist..USN1.ITEM
    , par exemple cela marche.
    Comment convertir donc la valeur de 'selectedsite' en format acceptable dans la condition de la boucle 'for each' ?

    Est-ce que quelqu'un pourrait m'aider s'il vous plaît ?

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Salut,
    je te conseillerais peut être de placer une balise "root" c'est à dire pour que tes balises USN1, et USN2 soient sur un niveau inférieur.

    Ou alors, de renommer tes balises dans ce genre :

    Tu pourras ainsi parser ton xml sans problème.

    Sinon, j'ai bien peur que tu ne doives faire de la copie de code, pour les 2 cas, en changeant juste la ligne de la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resourceslist..USN1.ITEM

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 4
    Par défaut caster une valeur en Actionscript
    Salut Krazymins,

    Désolé de revenir un peu tard sur ta réponse. J'ai bien essayé en modifiant mon XML et du coup en changeant la position des noeuds USN1, USN2 mais je n'ai pas réussi. Je me suis résigné à répéter mon code (ce que j'aurais vraiment voulu éviter !).
    Merci pour ta réponse et merci également à Ellene pour la correction de mon post.

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Salut
    Citation Envoyé par loucki Voir le message
    Désolé de revenir un peu tard sur ta réponse. J'ai bien essayé en modifiant mon XML et du coup en changeant la position des noeuds USN1, USN2 mais je n'ai pas réussi.
    Peux-tu nous dire comment tu as fait stp pour voir ce qui clocherait ?

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

Discussions similaires

  1. Caster une chaîne en sa valeur entière
    Par Dakuan dans le forum Langage
    Réponses: 9
    Dernier message: 16/07/2008, 13h49
  2. Lire une valeur dans le registre
    Par John.s dans le forum C
    Réponses: 2
    Dernier message: 26/11/2003, 19h55
  3. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 16h37
  4. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 10h26
  5. Afficher une valeur du context
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 13
    Dernier message: 28/04/2003, 13h49

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