2010-04-26 85 views
0

我使用的列表的編號爲ArrayCollection,作爲DataProvider。該列表使用ComboBox爲項渲染Flex:將組合框中的值綁定爲項目渲染器

我想在列表中的值進行綁定。

您有一個包含多個組合框的列表,並且這些值是從ArrayCollection動態加載的。

ArrayCollection包含具有布爾屬性的對象,爲此我應該綁定在comboboxes中選擇的真/假值。

回答

0

我們最終制作了自己的組件:CheckboxList

2

使事情是這樣的:

<?xml version="1.0" encoding="utf-8"?> 

<fx:Script> 
    <![CDATA[ 
     import mx.collections.ArrayCollection; 
     import spark.events.IndexChangeEvent; 

     [Bindable] 
     private var myAC:ArrayCollection = new ArrayCollection(["True","False"]); 

     [Bindable] 
     public var editorSelectedIndex:int; 

     protected function changeHandler(event:IndexChangeEvent):void 
     { 
      data.selectedIndex = event.target.selectedIndex;// TODO Auto-generated method stub 
     } 

    ]]> 
</fx:Script> 

<s:RichText color="#2B4381" text="{data.name}" left="0" top="0" width="190" height="100%"/> 
<s:ComboBox dataProvider="{myAC}" selectedIndex="{data.selectedIndex}" change="changeHandler(event)" left="200" top="0" height="100%"/> 

基本上可以寫回 「數據」 屬性與新的數據。 希望這有助於。

+0

我明白你的意思了。但事情是:我的ArrayCollection是dinamically加載(不知道它會帶來多少對象)。 其中的對象有一個布爾值,我應該綁定選中/未選中的框。 – 2010-04-27 19:33:31

+0

好吧,這很簡單 - 只需修改您的selectedIndex代碼以查看您的布爾值,並在布爾值爲true時指定0值,如果爲false則指定1。這裏關鍵的是你可以讀寫數據屬性。另外,如果您承認我在這裏的貢獻,我會很感激,因爲我花了大量的時間做出這個答案(我建立了一個測試項目,以確保我沒有給你一個不好的答案)。我不喜歡被視爲理所當然。卡斯帕。 – 2010-05-09 22:43:10

+0

哦,還有一件事,myAC變量只是一個引用變量 - 我可以在那裏使用const。它僅被使用,因爲組合框需要數據提供者。 – 2010-05-09 22:47:02