Все радиокнопки в радиокнопке выбраны - PullRequest
2 голосов
/ 15 сентября 2011

Здравствуйте,

У меня есть список в компоненте 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 элемент выглядит следующим образом:

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

Обратите внимание, что радиопереключатель в элементе предметов принадлежит группе "rbg". В этом примере список отображается с 3 строками (следовательно, по 3 радиокнопки на каждой строке). Однако, когда я выбирал radioButtons, по одному, выбор разрешается делать для всех radioButtons. Логически, если он принадлежит группе, он должен разрешать только 1 выбор, но это не так.

Может кто-нибудь помочь в этом вопросе?

Спасибо

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Использовать заданный метод данных:

<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 голосов
/ 15 сентября 2011

Попробуйте добавить атрибут имени в определение переключателя.Это может привести к тому, что кнопки будут обрабатываться индивидуально, а не как единое целое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...