vc consegui a solução pra esta sua pergunta???
On 11 jul, 14:43, "Silvio Luiz" <[EMAIL PROTECTED]> wrote:
> Realmente...
>
> Mudei pra Collection e funcionou... O problema é que ao tentar acessar o
> objeto Grupo, dentro de Usuario, não consegui usando dataField. Tive que
> fazer uma gambiarra pra funcionar. O DataGridColumn tem um método chamado *
> labelFunction,* que serve pra tratar uma informação antes de ser
> renderizada. Funcionou dessa forma:
>
> <mx:DataGridColumn headerText="Grupo" labelFunction="{grupoBinding}"/>
> public function grupoBinding(item:Object, column:DataGridColumn):String {
> return item.grupo.nomeGrupo.toString();
>
> }
>
> Ai eu pergunto, não existe uma forma de meus objetos em 2° nível
> (Usuario->Grupo) ser reconhecido automaticamente, assim como acontece quando
> uso os atributos em primeiro nível
> (ex: <mx:DataGridColumn headerText="Nome" dataField="nome" />, sendo nome
> atributo da classe Usuario) ?
>
> []'s
>
> Silvio Luiz
>
> On 7/11/07, Silvio Luiz <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > Não tenho certeza se essa é a solução(só devo poder testar em casa), mas
> > lá vai...
>
> > Parece que a conversão acontece sim de forma automática, e existe uma
> > tabela de compatibilidade entre os tipos ActionScript(AMF3) e Java, que pode
> > ser vista
> > aqui<http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/ww...>
> > .
> > Portanto creio que o result pode ser diretamente atribuído a um
> > ArrayCollection, sem eu fazer um loop(como havia tentado no handler do
> > Result) . Mas preciso retornar na classe Java Collection, ou
> > Collection<MinhaClasse>, e eu estava retornando ArrayList<MinhaClasse>, quem
> > puder testar antes de mim posta aqui pra ver se funciona!
>
> > []'s
>
> > Silvio Luiz
>
> > On 7/11/07, Silvio Luiz <[EMAIL PROTECTED] > wrote:
>
> > > Bem..
>
> > > Segundo o livedocs,
> > > nessa<http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/ww...>página,
> > > o ArrayElementType serve pra que um array só aceite valores de
> > > determinado tipo, mais ou menos como é feito no Java5:
>
> > > Collection<String> colNomes, no AS seria:
>
> > > [ArrayElementType("String")]
> > > public var colNomes:Array;
>
> > > Só não fica claro se posso usar isso pra mapear classes Java mesmo..quem
> > > souber... :)
>
> > > On 7/11/07, Silvio Luiz <[EMAIL PROTECTED] > wrote:
>
> > > > Bom dia,
>
> > > > Declaro em meu mxml um remoteObject, e através do GraniteDS, uso uma
> > > > classe Java que me retorna uma coleção de objetos do tipo Usuario(com
> > > > nome,
> > > > idade e um outro objeto Grupo, com descricao). A questão é, pra que eu
> > > > use
> > > > essa coleção como dataProvider de uma grid, como eu posso mapear
> > > > exatamente
> > > > a minha classe pra que seus campos possam ser usados como datafield nas
> > > > dataGrigColumns? Segundo o exemplo do graniteDS que trabalha com Ejb3,
> > > > eu
> > > > precisaria fazer algo assim:
>
> > > > [ArrayElementType("meuPacote.minhaClasse")]
> > > > [Bindable]
> > > > public var dados:ArrayCollection = new ArrayCollection();
>
> > > > E no método ao retornar o result:
>
> > > > private function onResultGetUsuarios(event:ResultEvent):void{
> > > > var result:ArrayCollection = ArrayCollection(event.result);
> > > > for (var i:int = 0; i < result.length; i++) {
> > > > * var usuario:Usuario= Usuario(result.getItemAt(i));
> > > > * dados.addItem(usuario);
> > > > }
> > > > }
>
> > > > Fazendo assim é gerado um erro, mas quando substituo a linha em
> > > > negrito por:
>
> > > > var usuario:Object = Object(result.getItemAt(i));
>
> > > > funciona! Mas apenas pra os dados primitivos de meu objeto Usuario, ou
> > > > seja, apenas nome e idade.
> > > > A pergunta é: eu realmente consigo usar esse ArrayElementType pra
> > > > fazer o que estou pensando? Ou seja, mapear meu Pojo no lado do Flex?
> > > > Se não
> > > > como eu posso fazer isso, preciso criar uma classe .AS pra mapear meu
> > > > objeto? Meu objetivo é retornar uma coleção no "lado Java da força", e
> > > > usar
> > > > o result no "lado Flex da força" como dataProvider de um componente
> > > > qualquer
> > > > que eu queira..
>
> > > > []'s
>
> > > > Silvio Luiz
>
> > > --
> > > Silvio Luiz
>
> > --
> > Silvio Luiz
>
> --- Ocultar texto entre aspas -
>
> - Mostrar texto entre aspas -
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---