Obrigado Mário Júnior, resolvi chamando um método no labelFunction.

2009/6/3 Mário Júnior <juninho...@gmail.com>

> Isso não funciona: dataFied="endereco.logradouro"
> Não pode usar "nesting" ali pq vc deve passar uma string (que corresponde
> ao nome do atributo a ser representado ali.)
>
> Se quer saber a solução rápida para isso, tem tres caminhos:
> - usar labelFunctions
> - usar itemRenderers.
> - crie um getter no objeto Endereço que retorne a descrição do logradouro
> diretamente, daí vc usa o getter no datafield.
> (esse ultimo é mais rápido, recomendado e menos intrusivo:
> http://forum.flexbrasil.com.br/viewtopic.php?f=8&t=455&p=1648&hilit=labelFunction#p1642
> )
>
>
> ...
>
> ...
>
> ...
>
> Agora, se vc continuou lendo até aqui é pq vc quer saber o motivo de usar
> isso (isso é bom, parabéns =D... a maioria pegam as soluções e depois nem
> sabem o porquê de usá-las, mas agora vc saberá o porquê.)
>
> Tenha um pouco de paciência e leia esse link onde comento sobre porquê do
> nesting não funcionar:
>
> http://groups.google.com/group/flexdev/browse_thread/thread/8b381be6ea847361/d71492b5775604cb?hl=pt-BR&lnk=gst&q=1404#d71492b5775604cb
>
> Veja a dúvida do Daniel Schimitz, em seguida leia as respostas... a minha
> onde explico o problema, e a ultima do Beck onde ele propoe uma solução.
>
>
> Bons estudos!!
>
>
>
>
> 2009/6/3 Alberto Magno <magno...@gmail.com>
>
> Bom dia galera, seguinte tenho um arrayCollection que possui objetos que
>> tem outros objetos dentro dele. No meu datagrid em uma das colunas tenho que
>> pegar o valor desse outro objeto, coisa do tipo: pessoa.endereco.logradouro.
>> Tive que criar um componente que extendesse de DataGridColumn e
>> sobrescrevi o método itemToLabel, até ai funcionou beleza, mas quando clico
>> no cabeçalho da coluna pra ele ordenar da o seguinte erro.
>> Find criteria must contain at least one sort field value.
>> Já setei o método sortCompareFunction, mais ele não chega a chamar o
>> mesmo, o problema esta quando o datagrid vai pegar o atributo do objeto
>> principal, como o objeto não tem o atributo endereco.logradouro da esse
>> erro.
>>
>> EX:
>> class Pessoa{
>>        public var nome:String;
>>        public var endereco:Endereco;
>> }
>>
>> class Endereco{
>>        public var logradouro:String;
>> }
>>
>> <mx:DataGrid dataProvider={pessoas}>
>>     <mx:columns>
>>          <mx:DataGridColumn dataFied="nome" />  <!-- Funciona -->
>>          <mx:DataGridColumnCustom dataFied="endereco.logradouro" /> <!--
>> Não Funciona na ordenação -->
>>      </mx:columns>
>> </mx:DataGrid>
>>
>> Alguém já passou por esse erro?
>>
>>
>> --
>> Alberto Magno Xavier Soares
>> Bacharel em Sistemas de Informação
>> Software Engineer - Digivox - João Pessoa - PB
>> Jabber : magno...@gmail.com
>> Skype: alberto.mxs
>>
>>
>>
>
>
> --
> Mário Júnior
> Programador Java / Adobe Flex
> http://blog.mariojunior.com
>
> >
>


-- 
Alberto Magno Xavier Soares
Bacharel em Sistemas de Informação
Software Engineer - Digivox - João Pessoa - PB
Jabber : magno...@gmail.com
Skype: alberto.mxs

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a