Grato pela ajuda Fabio, fiz as modificações e até agora está dando certo.
Segue aí para caso alguém precise.
<mx:itemRenderer>
<fx:Component>
<mx:Image horizontalAlign="center" width="20"
height="20" source="{imagem.source}">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
[Bindable]
public var imagem:Image = new Image();
override public function set
data(value:Object):void
{
super.data = value;
if(value)
{
switch (data.status)
{
case 'C':
imagem.source='assets/img1.png';
break;
case 'B':
imagem.source='assets/img2.png';
break;
case 'A':
imagem.source='assets/img3.png';
break;
default:
imagem.source='';
}
}
}
]]>
</fx:Script>
</mx:Image>
</fx:Component>
</mx:itemRenderer>
---------- Mensagem encaminhada ----------
De: Rodrigo Valentim <[email protected]>
Data: 27 de outubro de 2010 16:45
Assunto: Re: [flexdev] Re: Imagem no DataGrid
Para: [email protected]
Vlw Fabio, vou dar uma analisada.
Em 27 de outubro de 2010 16:32, fabiophx <[email protected]>escreveu:
Rodrigo,
> Por questões de performance, o Flex cria a quantidade de
> itemrenderers necessários para mostrar as informações na tela, qd vc
> dá scroll ele reaproveita um itemrenderer já existente, vc precisa
> sobreescrever o método set data.
>
> []s
> Fabio da Silva
> http://www.fabiophx.blogspot.com/
>
> On 27 out, 17:21, Rodrigo Valentim <[email protected]> wrote:
> > Pessoal,
> > Estou montando um DataGrid e preciso incluir ali algumas imagens... a
> > rotina já está pronta, porém, quando desco a barra de rolagem e volto,
> > algumas imagens são trocadas, tipo... a imagem da terceira linha vai pra
> > quarta, vi que etc...
> >
> > estou usando esta rotina
> >
> > <fx:Component>
> > <mx:Image horizontalAlign="center" width="20"
> > height="20" source="{imagem.source}"
> > creationComplete="image1_creationCompleteHandler(event);">
> > <fx:Script>
> > <![CDATA[
> > import mx.events.FlexEvent;
> > [Bindable]
> > public var imagem:Image = new
> Image();
> > protected function
> > image1_creationCompleteHandler(event:FlexEvent):void
> > {
> > switch (data.status)
> > {
> > case 'C':
> >
> > imagem.source='assets/img1.png';
> > break;
> > case 'B':
> >
> > imagem.source='assets/img2.png';
> > break;
> > case 'A':
> >
> > imagem.source='assets/img3.png';
> > break;
> > default:
> > imagem.source='';
> >
> > }
> > }
> > ]]>
> > </fx:Script>
> > </mx:Image>
> > </fx:Component>
> > Tentei usar da seguinte forma
> >
> > <mx:Image horizontalAlign="center" width="20" height="20"
> > source="@Embed({imagem.source})"
> > creationComplete="image1_creationCompleteHandler(event);">
> >
> > e pra imagem usei o seguinte...
> >
> > imagem.source='../../../assets/img1.png';
> >
> > porém, a imagem não aparece.
> >
> > Alguém tem outra sugestão?
> >
> > --
> > Atenciosamente,
> > Rodrigo Valentim
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
--
Atenciosamente,
Rodrigo Valentim
--
Atenciosamente,
Rodrigo Valentim
--
Atenciosamente,
Rodrigo Valentim
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev