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 -~----------~----~----~----~------~----~------~--~---