【问题标题】:Get The Items Under An Expanded Node in AdvancedDataGrid获取 AdvancedDataGrid 中展开节点下的项目
【发布时间】:2012-01-20 15:41:26
【问题描述】:

有没有办法获取展开的 ADG 树节点下的项目?

给定示例树节点:

- Atlantic
    Celtics
    Nets
    Knicks
    Sixers
    Raptors
+ Central
+ SouthEast
+ SouthWest
+ NorthWest
+ Pacific

我计划在 ADG 的 itemOpen 事件中捕获数据。

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.
    }

【问题讨论】:

    标签: apache-flex actionscript advanceddatagrid


    【解决方案1】:

    您可以从AdvancedDataGridEvent 获取ADG,然后您可以尝试将其dataProvider 转换为IHierarchicalCollectionView。如果可行,您可以使用它来获取打开节点的子节点。

    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
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多