Получить элементы в расширенном узле в AdvancedDataGrid - PullRequest
1 голос
/ 20 января 2012

Есть ли способ получить элементы, находящиеся в расширенном узле дерева 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 Ответ

1 голос
/ 23 января 2012

Вы можете получить 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
        }
    }
}
...