Получить элементы в расширенном узле в AdvancedDataGrid
Есть ли способ получить элементы, которые находятся в расширенном узле дерева ADG?
Учитывая образец дерева узла:
- Atlantic
Celtics
Nets
Knicks
Sixers
Raptors
+ Central
+ SouthEast
+ SouthWest
+ NorthWest
+ Pacific
Я планирую записать данные в событие itemOpen ADG.
private function myADG_ItemOpen(event:AdvancedDataGridEvent) :void
{
// What codes do I put here to get the following teams:
// Celtics, Nets, Knicks, Sixers, Raptors
}
Обновление: мне удалось получить некоторые коды, которые каким-то образом предоставляют мне объект, содержащий команды:
var ihd:IHierarchicalData = IHierarchicalCollectionView(myADG.dataProvider).source;
if(ihd.hasChildren(evt.item))
{
var objGetChildren:Object = ihd.getChildren(evt.item);
var dataString:String = ObjectUtil.toString(objGetChildren);
// From here, I am able to parse the dataString to an array, where I am able to get the team name.
}
1 ответ
Решение
Вы можете получить ADG от AdvancedDataGridEvent
и тогда вы можете попытаться разыграть его dataProvider
для IHierarchicalCollectionView
, Если это сработало, вы можете использовать его, чтобы получить дочерние элементы узла opend.
private function myADG_ItemOpen(event:AdvancedDataGridEvent):void
{
var grid:AdvancedDataGrid = AdvancedDataGrid(event.currentTarget);
var dataProvider:IHierarchicalCollectionView = grid.dataProvider as IHierarchicalCollectionView;
if (dataProvider && event.item)
{
var children:ICollectionView = dataProvider.getChildren(event.item);
if (children)
{
// do something with the children
}
}
}