About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Oct

    21

    AdvancedDataGrid 组件虽然与 Tree 组件一样能支持树型结构的数据,但 AdvancedDataGrid 组件并没有像 Tree 组件那样拥有 openItems 属性,所以在判断 AdvancedDataGrid 组件所有层级数据是否全部被打开或全部被关闭需要通过其它类来实现。一般 AdvancedDataGrid 的source属性在使用树型数据结构时可通过 HierarchicalData 类的包装解析。此时 AdvancedDataGrid  类的属性 dataProvider 为实现了 IHierarchicalCollectionView 接口类的数据类型。IHierarchicalCollectionView 拥有 openNodes 属性,此时可以用来判断 AdvancedDataGrid 组件树型数据判断是否所有节点被打开方法。样例代码如:

    //myADG 为 AdvancedDataGrid 的一个实例
    //myOpenNodes 为 myADG 打开的节点数
    //执行该函数后,如 myOpenNodes 为 0,表所所有点节被关闭,否则有节点被打开
    //如需枚举所有被打开的节点,使用for each … in 遍历 obj 对象
    function getOpenNodes():void {
     myOpenNodes = 0;
     if(myADG.dataProvider is IHierarchicalCollectionView){
         var obj:Object = IHierarchicalCollectionView(myADG.dataProvider).openNodes;
      for ( var i:* in obj){
       myOpenNodes++;
      }
     }
    }