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 <[email protected]> > 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 : [email protected] > Skype: alberto.mxs > > > > -- Mário Júnior Programador Java / Adobe Flex http://blog.mariojunior.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
