单击具有dataprovider作为分组集合的advanceddatagrid

时间:2014-12-21 06:19:20

标签: actionscript-3 flex flex3 advanceddatagrid groupingcollection

我正在使用advanceddatagrid创建树结构。数据提供者是分组集合,其源是arraycollection。此分组集合按指定对字段进行分组,我得到了正确的树结构。

我有这种类型的树结构

Client
      Fund
          Account

每当用户点击这些节点中的任何一个节点时,都会有点击处理程序,如下所示:

          private function clickhandler(event:Event){

           var item:VO=event.currentTarget.selectedItem as VO
           Alert(item.ID);
          }

其中VO是一个bean类,其字段为

  ID
  Name

当我点击帐户节点时,我得到了正确的警报值(根据上述功能)但是当我点击基金或客户时,我没有得到警报的价值。它说错误为          输入错误:#1009无法访问该属性

所以这里当我点击叶子节点时,我得到的数据源值与该节点相关联,但是当我点击非叶子节点时,我没有得到数据源值(如上面的函数VO.ID和VO.Name)。如何解决?

第二个问题: 此外,我想知道用户在第1级(客户端)或第2级(基金)或第3级(帐户)的树中单击了哪个级别。

1 个答案:

答案 0 :(得分:0)

尝试创建自己的AdvancedDataGridGroupItemRenderer和AdvancedDataGridItemRenderer

<mx:AdvancedDataGrid 
itemRenderer="MyAdvancedDataGridItemRenderer"
groupItemRenderer="MyAdvancedDataGridGroupItemRenderer">
</mx:AdvancedDataGrid>

在类MyAdvancedDataGridItemRenderer和MyAdvancedDataGridGroupItemRenderer中,在此处理程序中创建单击处理程序设置断点并进行调试。我认为它可以帮助您理解节点