2010-05-11 82 views
1

我有一個datagrid,其datagridcolumn中的itemRenderer作爲我的自定義組件(c1)。我通過重寫set數據函數來獲取自定義組件中的數據提供者數據,這很好。但是現在我的自定義組件(c1)也有另一個自定義組件(c2)。flex覆蓋公共功能集數據

現在的疑問是 - 如何獲得c2組件中的數據提供者數據?

在此先感謝。

+1

對不起,這不是很清楚。是c1的項目渲染器?數據網格? c1'如何擁有另一個自定義組件'? – quoo 2010-05-11 13:50:11

回答

4

假設c1是項目渲染器,而c2是itemRenderer的子項,您需要做的就是將子組件的data屬性綁定到父數據屬性,或者只傳入必要的數據。您可能無法在設置數據函數中執行此操作,因爲子組件可能不存在,所以您可能需要添加一個檢查以確保子組件存在時,子組件也會設置數據。

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

(注意,這是僞代碼,並可能完全錯別字以及)