FlexでAdvancedDataGridツリーの列のノードをプログラムで拡張する方法を知っている人はいますか?私は木を使用していた場合、私はこのようなものを使用します:Flex:AdvancedDataGridツリーの列をプログラムで拡大する
dataGrid.expandItem(treeNodeObject, true);
をしかし、私は、AdvancedDataGridでこのプロパティへのアクセス権を持っていないようです。
ありがとうございました!
FlexでAdvancedDataGridツリーの列のノードをプログラムで拡張する方法を知っている人はいますか?私は木を使用していた場合、私はこのようなものを使用します:Flex:AdvancedDataGridツリーの列をプログラムで拡大する
dataGrid.expandItem(treeNodeObject, true);
をしかし、私は、AdvancedDataGridでこのプロパティへのアクセス権を持っていないようです。
ありがとうございました!
たAdvancedDataGridがあまりにもexpandItem()メソッドがあります:private function openMe():void { var obj:Object = gc.getRoot(); var temp:Object = ListCollectionView(obj).getItemAt(0); myADG.expandItem(temp,true); }
コピーカーソルを使用します。ここで私は指定されたレベルですべてのノードを開く方法です:
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();
}
あなたは可能性も開いたノードのdataProviderを反復処理によって:上記のURLで発見され、この関数を呼び出すサンプル
http://livedocs.adobe.com/flex/3/langref/mx/controls/AdvancedDataGrid.html#expandItem()
は、AdvancedDataGridは、expandAll()
メソッドを持つにもかかわらず、true
に設定displayItemsExpanded
というプロパティを持っていることをここに追加したいすべての拡大していきますノード。
上記のリンクから確認できるように、特定の子供を拡大するために、expandChildrenOf()
およびexpandItem()
の方法を使用することができます。