2009-04-20 6 views
3

Est-ce que quelqu'un sait comment développer par programmation les nœuds d'une colonne d'arbre AdvancedDataGrid dans Flex? Si j'utilisais un arbre j'utiliser quelque chose comme ceci:Flex: Développez AdvancedDataGrid Tree Column par programme

dataGrid.expandItem(treeNodeObject, true); 

Mais je ne semble pas avoir accès à cette propriété dans le AdvancedDataGrid.

Merci pour votre aide!

Répondre

5

Copiez l'exemple trouvé à l'adresse mentionnée ci-dessus et appeler cette fonction: private function openMe():void { var obj:Object = gc.getRoot(); var temp:Object = ListCollectionView(obj).getItemAt(0); myADG.expandItem(temp,true); }

2

Vous pourriez nœuds également ouverts par itérer à travers le dataProvider en utilisant un curseur. Voici comment j'ouvre tous les noeuds à un niveau spécifié:

private var dataCursor:IHierarchicalCollectionViewCursor; 

    override public function set dataProvider(value:Object):void 
    { 
     super.dataProvider = value; 

     /* The dataProvider property has not been updated at this point, so call 
      commitProperties() so that the HierarchicalData value is available. */ 
     super.commitProperties(); 

     if (dataProvider is HierarchicalCollectionView) 
      dataCursor = dataProvider.createCursor(); 
    } 

    public function setOpenNodes(numLevels:int = 1):void 
    { 
     dataCursor.seek(CursorBookmark.FIRST); 

     while (!dataCursor.afterLast) 
     { 
      if (dataCursor.currentDepth < numLevels) 
       dataProvider.openNode(dataCursor.current); 
      else 
       dataProvider.closeNode(dataCursor.current); 

      dataCursor.moveNext(); 
     } 

     dataCursor.seek(CursorBookmark.FIRST, verticalScrollPosition); 

     // Refresh the data provider to properly display the newly opened nodes 
     dataProvider.refresh(); 
    } 
2

voudrais ajouter ici que le AdvancedDataGrid, en dépit d'avoir une méthode expandAll(), possède une propriété appelée displayItemsExpanded, qui a mis à true étendra toutes les nœuds.

Pour développer des enfants particuliers, les méthodes expandChildrenOf() et expandItem() peuvent être utilisées, comme cela peut être vérifié à partir des liens donnés ci-dessus.

Questions connexes