2009-04-20 3 views
3

FlexでAdvancedDataGridツリーの列のノードをプログラムで拡張する方法を知っている人はいますか?私は木を使用していた場合、私はこのようなものを使用します:Flex:AdvancedDataGridツリーの列をプログラムで拡大する

dataGrid.expandItem(treeNodeObject, true); 

をしかし、私は、AdvancedDataGridでこのプロパティへのアクセス権を持っていないようです。

ありがとうございました!

答えて

5

たAdvancedDataGridがあまりにもexpandItem()メソッドがあります:private function openMe():void { var obj:Object = gc.getRoot(); var temp:Object = ListCollectionView(obj).getItemAt(0); myADG.expandItem(temp,true); }

5

コピーカーソルを使用します。ここで私は指定されたレベルですべてのノードを開く方法です:

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

は、AdvancedDataGridは、expandAll()メソッドを持つにもかかわらず、trueに設定displayItemsExpandedというプロパティを持っていることをここに追加したいすべての拡大していきますノード。

上記のリンクから確認できるように、特定の子供を拡大するために、expandChildrenOf()およびexpandItem()の方法を使用することができます。

関連する問題