2010-07-14 27 views
1

我有一個itemRenderer,我只是分別顯示項目和他們的詳細信息。我希望保持細節不可見,並在我的主要mxml文件中顯示一個按鈕「顯示詳細信息」(Show Details),單擊該按鈕時會使詳細信息可見。我們如何從主mxml訪問itemRenderer中的組件?

所以,我的問題是在clickHandler我怎麼能從主mxml訪問itemRenderer內的details屬性?

在此先感謝您的幫助

回答

0

有接近這幾方面。

一種是使用包含「ShowDetails」值的全局Singleton對象。每個itemRenderer都可以訪問該對象並更改其設置。 Cairngorm的ModelLocator是這種常用單例的一個例子。我相信swiz有類似的東西。如果需要,您也可以推出自己的產品。

您可以嘗試擴展List類List將itemRenderers保存在一個數組中,我相信這是受保護的。您必須擴展該列表,並公開此受保護的陣列。然後,您將能夠訪問itemRenderer的列表並直接修改它們的屬性。

但是,我不確定我會推薦這兩種方法。 itemRenderer真的應該根據顯示的數據選擇要顯示的內容;不是一些全局變量。你能改變你的dataProvider中的對象,並相應地更新itemRenderer嗎?這是第三種選擇;儘管我不確定它是否比前兩種方法更好或更差。

0

您可以在DataProvider數組中將一個名爲'show'的變量設置爲false。在itemrenderer中,將details組件的visible屬性綁定到data.show。

當按下顯示按鈕時,遍歷dataProvider數組,並將'show'屬性設置爲true。這將工作

BISH

+0

我要建議dataProvider中的一個領域,但因爲我理解這個問題,因爲所有的記錄,我想出一個變量來控制他們。 – adamcodes 2010-07-14 14:34:51

相關問題