2015-06-22 19 views
0
<s:DataGroup id="group" dataProvider="{data}" > 
    <s:itemRenderer> 
    <s:RadioButton value="{group.currentItem}"/> 
    </s:itemRenderer> 
</s:DataGroup> 

我想使用DataGroup呈現多個RadioButton如何在Flex中使用DataGroup呈現重複的RadioButtons?

問題1:FlashBuilder顯示錯誤:In initializer for 'itemRenderer', type spark.components.RadioButton is not assignable to target type 'mx.core.IFactory'.

問題2:group.currentItem沒有定義。我怎樣才能得到ArrayCollection數據的實際項目?

回答

0

要使用的itemRenderer你必須包裝組件聲明內的部件的內聯和像的ItemRenderer:

<s:DataGroup id="group" dataProvider="{dataProvider}" > 
    <s:itemRenderer> 
     <fx:Component> 
      <s:ItemRenderer> 
       <s:RadioButton value="{data}" label="{data.label}" selected="{data.value}"/> 
      </s:ItemRenderer> 
     </fx:Component> 
    </s:itemRenderer> 
</s:DataGroup> 

ItemRenderer的暴露Object類型的數據屬性保存用於該數據的火花dataProvider中的每個項目。

這取決於如何您的數據實際上看起來像,但對於上面的例子可能是這樣的:

var dataProvider:ArrayCollection = new ArrayCollection([{label: 'item1', value: true}, {label: 'item2', value: false}]); 

你還不如想使用你的物品例如像列表中的另一容器,因爲DataGroup會將每個RadioButton渲染爲彼此之上...