2011-09-15 30 views
2

你好,在RadioButtonGroup中的所有單選按鈕被選中

我有一個組件MXML這是一個列表如下:

 <s:VGroup> 
      <s:Label text="TESTING" textDecoration="underline"/> 
      <s:List id="recouvrementModulesList" itemRenderer="renderers.ListRenderer"> 
       <s:dataProvider> 
        <s:ArrayList> 
         <fx:String>Test</fx:String> 
              <fx:String>Test2</fx:String> 
              <fx:String>Test3</fx:String> 
        </s:ArrayList> 
       </s:dataProvider> 
      </s:List> 
     </s:VGroup> 

我ListRenderer的itemRenderer如下:

<?xml version="1.0" encoding="utf-8"?> 
    <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx" 
        autoDrawBackground="true"> 

     <fx:Script> 
      <![CDATA[ 
      ]]> 
     </fx:Script> 


     <fx:Declarations> 
      <mx:RadioButtonGroup id="rbg" />  
     </fx:Declarations> 


     <s:HGroup horizontalAlign="center" verticalAlign="middle"> 
      <mx:RadioButton id="rb" group="{rbg}" label="{data}"/> 
     </s:HGroup> 

    </s:ItemRenderer> 

請注意,itemrenderer中的單選按鈕屬於組「rbg」。在這個例子中,List出現3行(因此每行有3個radioButton)。但是,當我每次選擇radioButton時,都允許爲所有radioButton進行選擇。從邏輯上講,如果它屬於一個組,它應該只允許一個選擇,但事實並非如此。

任何人都可以請這個問題的幫助?

謝謝

回答

1

使用設置數據的方法:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx"> 
<fx:Declarations> 
    <s:RadioButtonGroup id="rbg"/> 
</fx:Declarations> 

<s:VGroup> 
    <s:Label text="TESTING" textDecoration="underline"/> 
    <s:List id="recouvrementModulesList" > 
     <s:dataProvider> 
      <s:ArrayList> 
       <fx:String>Test</fx:String> 
       <fx:String>Test2</fx:String> 
       <fx:String>Test3</fx:String> 
      </s:ArrayList> 
     </s:dataProvider> 
     <s:itemRenderer> 
      <fx:Component> 
       <mx:HBox> 

       <fx:Script> 
        <![CDATA[ 
         override public function set data(value:Object) : void 
         { 
          super.data = value; 
           rb.label=data.toString(); 
           rb.group=outerDocument.rbg; 
         } 

        ]]> 
       </fx:Script> 

        <s:RadioButton id="rb" /> 
       </mx:HBox> 
      </fx:Component> 
     </s:itemRenderer> 
    </s:List> 
</s:VGroup> 

0

嘗試添加一個名稱屬性到單選按鈕定義。它的遺漏可能導致按鈕被單獨處理,而不是作爲一個整體處理。

+0

我已經把name屬性爲好。問題依然存在。這是一個錯誤? – FlexyBoz

相關問題