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:
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:
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:
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:
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
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