2014-01-08 4 views
0

У меня есть datagrid, в котором для одного столбца я устанавливаю радиокнопку как itemrenderer. Мое требование - только одна радиокнопка должна быть выбрана за раз. Если мы нажмем радиокнопку, все остальные радиокнопки в столбце должны быть отменены.Радио-кнопка как itemrenderer столбца datagrid в flex

Мой код выглядит следующим образом (ManagePagesPopup.mxml)

<fx:Declarations> 
      <s:RadioButtonGroup id="radGrp" /> 
</fx:Declarations><s:DataGrid id="pageDataGrid" dataProvider="{pageDetailsAc}" > 
    <s:columns> 
     <s:ArrayList> 
      <s:GridColumn headerText="Select" dataField="select" itemRenderer="components.PageSelectRadioButton" ></s:GridColumn> 
      <s:GridColumn dataField="pageName" headerText="Page Template Name"></s:GridColumn> 
      <s:GridColumn dataField="pageType" headerText="Page Type"></s:GridColumn> 
      <s:GridColumn dataField="pageSize" headerText="Page Size"></s:GridColumn> 
      <s:GridColumn dataField="order" headerText="Order" editable="true" itemRenderer="components.OrderTextInput"></s:GridColumn> 
     </s:ArrayList> 
    </s:columns> 
</s:DataGrid> 

В PageSelectRadioButton.mxml (пункт рендер) файл я написал ниже код

<s:GridItemRenderer 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:Script> 
    <![CDATA[  
    [Bindable] 
     public var mg:ManagePagesPopup=new ManagePagesPopup(); 
    ]]> 
</fx:Script> 

    <s:RadioButton id="selectRadio" groupName="{mg.radGrp}" /> 

Где я делаю ошибку .Любая помощь.

ответ

1

Ну, в основном вы назначаете различные группы переключателей для каждого средства визуализации элементов, потому что вы инстанцированием нового ManagesPopUp для каждого средства визуализации элементов.

0

Добавить инлайн ItemRenderer, чтобы сделать эту работу следующим образом: -

<s:GridColumn headerText="Select" dataField="select" > 
    <s:itemRenderer> 
    <fx:Component> 
    <s:GridItemRenderer> 
     <s:RadioButton id="selectRadio" group="{outerDocument.radGrp}" /> 
    </s:GridItemRenderer> 
    </fx:Component> 
    </s:itemRenderer> 
</s:GridColumn> 
Смежные вопросы