Olá pessoal estou iniciando em flex e me deparei com um problema, é o seguinte, tenho um DG que recebe os dados pelo seu dataProvider, dentro desse data grid tenho um botao (editar/vizualizar) que deve se comportar da seguinte maneira. quando a dataLeitura estiver null o botao deve aparecer editar. quando a mesma nao for nula deve aparecer vizualizar.
até ai tudo bem. quando eu busco os itens os botoes sao alterados conforme a logica. porem quando o scroll é usado, os botoes perdem as configuracoes.
segue abaixo o codigo
<mx:DataGridColumn headerText="Data registro" dataField="dataRegistro" labelFunction="{formataData}" width="140" />
<mx:DataGridColumn headerText="Data Leitura" dataField="dataLeitura" labelFunction="{formataData}" width="140"/>
<mx:DataGridColumn headerText="Usuário registro" dataField="usuarioRegistro.nome" width="250" />
<mx:DataGridColumn headerText="Mensagem" dataField="descricao" />
<mx:DataGridColumn width="100" editable="false" >
<mx:itemRenderer>
<fx:Component>
<s:MXItemRenderer>
<s:Button id="tipoBotao" creationComplete="{changeButton()}" click="{outerDocument.editMensagem()}"
horizontalCenter="0" verticalCenter="0" >
<fx:Script>
<![CDATA[
import br.com.neodent.flex.model.bean.Mensagem;
import br.com.neodent.flex.view.skin.EditarButtonSkin;
import br.com.neodent.flex.view.skin.VisualizarButtonSkin;
public function changeButton():void{
if(data.dataLeitura == null){
tipoBotao.setStyle("skinClass", Class(EditarButtonSkin));
}
else if(data.dataLeitura != null){
tipoBotao.setStyle("skinClass", Class(VisualizarButtonSkin));
}
}
]]>
</fx:Script>
</s:Button>
</s:MXItemRenderer>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>