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
Ensuite voila la tete de ma variable xml
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" />
Puis voici le fichier actionScript MyTreeItemRenderer
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>
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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dataProvider={xml.menu}
or
si dans la déclaration de mon tree je met
et que je laisse la propriete itemRendere ca marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dataProvider={xml}
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
Partager