2009-07-21 7 views
0

J'ai besoin du contrôle Flex tree par défaut ouvert ... où tous les nœuds sont visibles.Etat ouvert de tous les nœuds dans l'arborescence Flex

theTree.openItems = xmlListColl..node; 

Cela ne fonctionne pas.

<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<root> 
<module> 
<node> 
<node> 
</module> 
</root> 
+0

peut vous donner un exemple de votre XML? – Arno

+0

fourni les informations xml – Kevin

Répondre

2
MyTree.expandChildrenOf(myTreeDataProvider, true); 
2

Si vous voulez garder l'état ouvert, je veux enlever l'état affaissé, vous devez arrêter la propagation de la TreeEvent.ITEM_OPENING:

private function onTreeOpeningHandler(argEvent:TreeEvent):void 
    { 
     argEvent.stopImmediatePropagation(); 
    } 
0

Il est serait mieux avec un test pour savoir si elle est ou non l'ouverture:

private function onTreeOpeningHandler(event:TreeEvent):void { 
    if (event.opening) { 
     return; 
    } 
    event.stopImmediatePropagation(); 
} 

si vous arrêtez la fermeture, et non la openning: p

4

Cela a fonctionné pour moi:

 
    tree.dataProvider = event.xml; // where event.xml is type XML 
    callLater(tree.expandChildrenOf, [ tree.dataProvider[0], true]); 

L'astuce est [0]

Questions connexes