Ao invés de..

  id:int
  nome:String
  uf:UF // objeto chamado uf do tipo UF

e em UF (uma nova classe, um novo "tipo de objeto") você conter:

  id:int
  nome:String

.. você ter um objeto simples como:

  id:int
  nome:String
  ufNome:String

Pode parecer simples agora, mas imagine com diversos objetos
encadeados. Dê uma olhada no design pattern Value Object e seu
objetivo de transportar dados da camada de negócios para a view.

[]s
Fabio Terracini




On 2/5/07, Marcelo de Francisco <[EMAIL PROTECTED]> wrote:
>
> Me desculpe a minha falta de conhecimento, mas você tem um exemplo de
> como eu possa encapsular de outra forma?
> []s
> Marcelo de Francisco
>
> On Feb 3, 5:15 pm, "Fabio Terracini" <[EMAIL PROTECTED]> wrote:
> > Acredito que a elegante solução do Luis Rinaldi é o que você precisa. ;-)
> >
> > Contudo, acho que vale a pensar pensar em encapsular esses dados de
> > uma outra forma, evitando de mandar dados para o front-end que não
> > serão utilizados. Já passei por uma situação em que eram 5 (!!)
> > classes encadeadas e eu precisava apenas de 2 valores: uma string na
> > classe pai, e outra string na última classe da hierarquia. Porém, como
> > tudo era enviado para o front-end, muitos dados extras eram trafegados
> > desnecessariamente.
> >
> > []s
> > Fabio Terracini
> >
> > On 2/2/07, Luis Rinaldi <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> > > Já havia respondido ontem, mas vamos aqui novamente.
> >
> > > Você pode usar a propriedade labelFunction do dataGridColumn.
> >
> > > Ficaria algo assim:
> >
> > > <mx:Script>
> >
> > >         private function estadoLabelFunction(item:Object,
> > > column:DataGridColumn):String{
> >
> > >                 var texto:String = "";
> >
> > >                 if(item != null)
> > >                 {
> > >                         texto = item.uf.nome;
> > >                 }
> >
> > >                 return texto;
> > >       }
> >
> > > </mx:Script>
> >
> > > <mx:DataGrid dataProvider="{roCidades}">
> > >         <mx:columns>
> > >                 <mx:DataGridColumn headerText="Id" dataField="id" />
> > >                 <mx:DataGridColumn headerText="Nome" dataField="nome" />
> > >                 <mx:DataGridColumn headerText="Estado" dataField="uf"
> > > labelFunction="estadoLabelFunction" />
> > >         </mx:columns>
> > > </mx:DataGrid>
> >
> > > []s
> > > Luis Rinaldi
> >
> > > -----Mensagem original-----
> > > De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de
> > > Júlio Ricardo Petters Siqueira
> > > Enviada em: sexta-feira, 2 de fevereiro de 2007 14:17
> > > Para: [email protected]
> > > Assunto: [flexdev] Re: dataGrid e RemoteObject
> >
> > > sobrescreva o metodo toString() da classe Uf para retornar o valor do nome
> > > nele ....
> >
> > > saintbr.
> > > -----------------------------
> > > ----- Original Message -----
> > > From: "Marcelo de Francisco" <[EMAIL PROTECTED]>
> > > To: "flexdev" <[email protected]>
> > > Sent: Wednesday, January 31, 2007 9:06 PM
> > > Subject: [flexdev] dataGrid e RemoteObject
> >
> > > Olé pessoal,
> >
> > > Sou iniciante em flex e me deparei com um problema, espero que alguem
> > > possa me ajudar.
> > > Estou Testando o RemoteObjects com o Java e estou tentando listar num
> > > dataGrid uma classe chamada Cidade com os seguintes campos:
> > > Id Integer;Nome String;UF Estado, onde o campo UF é do tipo da Classe
> > > estado q por sua vez tem os seguintes campos:
> > > UF String; Nome String.
> > > No meu dataGrid aparece os campos Id e Nome da tabela Cidade com seus
> > > respectivos valores, mas na coluna UF aparece [obejec Object].
> > > Gostaria de saber se tem algo que eu possa utilizar p/ mostrar o valor
> > > da coluna nome da classe uf, algo como uf.nome
> >
> > > <mx:DataGrid dataProvider="{roCidades}">
> > > <mx:columns>
> > > <mx:DataGridColumn headerText="Id" dataField="id" />
> > > <mx:DataGridColumn headerText="Nome" dataField="nome" />
> > > <mx:DataGridColumn headerText="Estado" dataField="uf" />
> > > </mx:columns>
> > > </mx:DataGrid>
> >
> > > Obrigado!!!!
> > > Marcelo de Francisco
>
>
> >
>

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

Responder a