public function onCategorieResult(result:Array):void { //treeDP = result; var Node:TreeNode; var i:int; for(i = 0; i < result.length; i++) { if(result[i][2] == "0") { Node = new TreeNode(); Node.id = result[i][0]; Node.label = result[i][1]; categorie.addItem(Node); } else { addNode(categorie, result[i]); } } } private function addNode(aCat:ArrayCollection, aArr:Array):void { var Node:TreeNode; var i:int; for(i = 0; i < aCat.length; i++) { if(aCat[i].id == aArr[2]) { Node = new TreeNode(); Node.id = aArr[0]; Node.label = aArr[1]; aCat[i].children = new ArrayCollection; aCat[i].children.addItem(Node); return; } if(aCat[i].children != null) { addNode(aCat[i].children, aArr); } } }