Boa tarde estou tentando realizar uma correção na parte da minha aplicaçao onde o problema consiste em ao ser clicado no radiobutton da primeira linha que se encontra no grid o componente não fica marcado, somente mesmo quando é feito um segundo clique, já para as outras linhas do AdvancedDataGrid a selecção acontece sem problemas em um único clique. O que pode estar faltando, já tentei consultar no google mas não tive sucesso.
Segue o código da parte mxml
<?xml version="1.0" encoding="utf-8"?>
<components:Window xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:components="junsoft.components.*"
xmlns:controls="com.adobe.flex.extras.controls.*"
xmlns:modules="junsoft.sol.modules.*"
xmlns:model="junsoft.sol.model.*"
width="570" height="482"
creationComplete="init()"
keyDown="keyDown(event)"
close="onClose()"
creationPolicy="all">
<fx:Declarations>
<mx:DateFormatter id="dateFormat" formatString="DD/MM/YYYY às JJ:NN:SS"/>
<fx:Array id="columnsSituacoes">
<mx:AdvancedDataGridColumn width="80" dataField="id" headerText="Código" textAlign="center"
labelFunction="{labelFunctionCodSituacao}"/>
<mx:AdvancedDataGridColumn width="340" dataField="dsSituacao" headerText="Situação do Chamado" textAlign="left"
labelFunction="{labelFunctionDsSituacao}"/>
<mx:AdvancedDataGridColumn width="30" editable="true" editorDataField="selected"
headerText="Padrão" rendererIsEditor="true"
textAlign="center">
<mx:itemRenderer>
<fx:Component>
<mx:RadioButton buttonMode="true" click="stPadraoSituacaoClickEvent(event)" selected="{this.data.stPadrao}">
<fx:Script>
<![CDATA[
import mx.events.ItemClickEvent;
import mx.events.ListEvent;
protected function stPadraoSituacaoClickEvent(event:MouseEvent):void
{
outerDocument.gridSituacoes.addEventListener(ListEvent.ITEM_CLICK, this.outerDocument.itemClick);
}
]]>
</fx:Script>
</mx:RadioButton>
</fx:Component>
</mx:itemRenderer>
</mx:AdvancedDataGridColumn>
</fx:Array>
.
.
.
.
.
.
.
Parte onde verifico as seleções do radiobutton no AdvancedDataGrid.
public function itemClick(e:ListEvent):void{
if(e.columnIndex == 2)
onClickSituacaoPadrao(gridSituacoes.selectedItem.situacao);
}
public function onClickSituacaoPadrao(s:Situacao):void{
for each(var su:SituacaoGrupo in grupousuario.situacoesGrupo)
if(su.situacao.id == s.id){
su.stPadrao = true;
for each(var sug:SituacaoGrupo in grupousuario.situacoesGrupo){
if(sug.situacao.id != su.situacao.id)
sug.stPadrao = false;
}
}
gridSituacoes.removeEventListener(ListEvent.ITEM_CLICK, itemClick);
}