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 :

Encore un pb avec mon tree


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 199
    Par défaut Encore un pb avec mon tree
    Eh oui me revoici avec encore un pb sur mon tree
    ca fait plusieurs jours que je suis sur le même pb et je ne m'en sors pas
    je m'explique

    un peu de code pour commencer
    tout c'abord le contenu de mon fichier mxml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <mx:Tree id="menu" backgroundAlpha="0" borderStyle="none"  x="0" y="0" 
        dataProvider="{xml.menu}"   labelField="@label" width="231" height="521"
        styleName="SListe"iconFunction="list_iconFunc" fontSize="13"    
        itemRenderer="MyTreeItemRenderer"  showRoot="false"
      />
    Ensuite voila la tete de ma variable xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <root label="">
          <menu label="">
               <sousmenu label="">
                      <soussousmenu label=""></soussousmenu>
               </sousmenu>
          </menu>
    </root>
    Puis voici le fichier actionScript MyTreeItemRenderer
    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
    51
    52
    53
     
    package
    {
        // itemRenderers/tree/myComponents/MyTreeItemRenderer.as
        import mx.controls.treeClasses.*;
        import mx.collections.*;
     
        public class MyTreeItemRenderer extends TreeItemRenderer
        {
     
            // Define the constructor.      
            public function MyTreeItemRenderer() {
                super();
            }
     
            // Override the set method for the data property
            // to set the font color and style of each node.        
            override public function set data(value:Object):void {
                super.data = value;
                if(TreeListData(super.listData).hasChildren)
                {
                    setStyle("fontSize", "17");
                   setStyle("fontWeight", 'bold');
                   setStyle("color","#30b130");
                }
                else
                {
                    setStyle("fontSize", "14");
                    setStyle("fontWeight", 'normal');
                    setStyle("color","#000000");
                }  
            }
     
            // Override the updateDisplayList() method 
            // to set the text for each tree node.      
            override protected function updateDisplayList(unscaledWidth:Number, 
                unscaledHeight:Number):void {
     
                super.updateDisplayList(unscaledWidth, unscaledHeight);
               /*  if(super.data)
                {
                    if(TreeListData(super.listData).hasChildren)
                    {
                        var tmp:XMLList = 
                            new XMLList(TreeListData(super.listData).item);
                        var myStr:int = tmp[0].children().length();
                        super.label.text =  TreeListData(super.listData).label + 
                            "(" + myStr + ")";
                    }
                } */
            }
        }
    }

    Voila je sais ca fait beaucoup de code mais j'ai pas le choix

    Donc mon pb c'est que l'orque dans la declaration de mon tree je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dataProvider={xml.menu}
    Ca ne marche pas j'ai plus rien qui s'affiche à l'écran et si j'enleve la propriete itemRenderer de mon tree ca marche

    or
    si dans la déclaration de mon tree je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dataProvider={xml}
    et que je laisse la propriete itemRendere ca marche
    Mais en ce qui concerne l'affichage j'ai un niveau qui apparait et qui ne sert à rien

    Comme le fichier ActionScript est un copier coller d'une source internet je ne sais pas quoi modifier pour que ca marche comme je veux
    Donc j'ai reussi à isolé le pb mais je n'arrive pas à le résoudre

    quelqu'un a t il une idée pour me faire avancer


    Merci et si c'est pas clair n'hesité pas à me posez des questions

  2. #2
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    Salam debo41,

    j'ai pris ton code tel quel, j'ai fait juste deux changements qui sont:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	[Bindable]
    	public var xml:XML =
    			<root label="root">
    		      <menu label="menu1">
    		           <sousmenu label="sousmenu1">
    		                  <soussousmenu label="soussousmenu1"></soussousmenu>
    		           </sousmenu>
    		      </menu>
    			</root>;
    et j'ai enlever le iconFunction car je n'ai pas le code approprié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<mx:VBox id="vBox1">
    		<mx:Tree id="menu" backgroundAlpha="0" borderStyle="none"  x="0" y="0" 
    		    dataProvider="{xml.menu}"   labelField="@label" width="231" height="521"
    		    styleName="SListe" fontSize="13"    
    		    itemRenderer="com.inm.faresbelhaouas.T618879.MyTreeItemRenderer"  showRoot="false"
    		  />
    	</mx:VBox>
    j'ai executé le tout et j'ai un TreeView qui resemble à ça:



    Alors c'est quoi ton problème exactement ?
    Images attachées Images attachées  

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 199
    Par défaut
    Ouais j'ai aussi tester mon code dans une petite appli et ca marche........

    Ce code va me rendre folle !!!

    Donc doit y avoir un pb quelque part mais ou
    Dans mon code je crée la variable xml dynamiquement en parcourant plusieurs ArryList c'est je crois la seule difference avec le test

    Le probleme dans mon appli c'est que c'est toute ma page qui contient le tree qui ne s'affiche pas.....

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 199
    Par défaut
    En fait je crois que je viens de trouver

    Je pense que ca vient du fait que ma variable xml est dynamique

    J'ai enlevé dans la déclaration de mon tree la propriete dataProvider
    Et je l'ai mise dans le fichier ActionScript juste à la fin de la création de la variable xml
    Et miracle ca s'affiche correctement.

    En tout cas merci pour ton aide ca m'a aider à réfléchir de manieres differentes

    Merci BCP

  5. #5
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    Salam debo41,

    Si t'es sûr que ton XML est correct, essayes de faire la chose suivante:

    à la fin du remplissage de ton xml execute le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    menu.dataProvider = null;
    menu.dataProvider = xml;

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

Discussions similaires

  1. encore des problèmes avec mon memory.
    Par rafoim dans le forum Programmation multimédia/Jeux
    Réponses: 0
    Dernier message: 31/12/2013, 11h11
  2. Réponses: 0
    Dernier message: 08/08/2012, 12h18
  3. Encore des problèmes avec le BDE
    Par Flint dans le forum C++Builder
    Réponses: 19
    Dernier message: 31/12/2007, 23h26
  4. (encore un)Problème avec mon simulateur de pluie
    Par Jordinateur dans le forum SDL
    Réponses: 6
    Dernier message: 09/09/2007, 11h51
  5. envoyer un mail avec mon programme
    Par shrek dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/12/2006, 12h27

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