flex覆盖公共功能集数据

时间:2010-05-11 13:38:09

标签: flex actionscript-3 datagrid

我在datagridcolumn中有一个带有itemRenderer的数据网格作为我的自定义组件(c1)。我通过覆盖设置数据函数获取自定义组件中的dataprovider数据,这很好。但是现在我的自定义组件(c1)还有另一个自定义组件(c2)。

现在的疑问是 - 如何在c2组件中获取数据提供者数据?

提前致谢。

1 个答案:

答案 0 :(得分:4)

假设c1是项呈示器,而c2是itemRenderer的子项,那么您需要做的就是将子组件的data属性绑定到parents数据属性,或者仅传入必要的数据。您可能无法在设置数据功能中执行此操作,因为子组件可能尚未存在,因此您可能必须添加检查以确保子组件存在并且还可以在创建子项时设置数据。

<mx:Canvas>
   <mx:Script>
     <![CDATA[
         override public function set data(value:Object):void{
               super.data = value;
               //do whatever w/ the data
         }
      ]]>
    </mx:Script>
    <components:MyCustomComponent id="c2" data="{data}" />
</mx:Canvas>

(请注意这是伪代码,也可能是拼写错误)