refatorando:
public function get nomeUsuario():String{
       return (usuario != null) ? usuario.nome : "usuário não informado";
//ou apenas ""
}

"null-safe" é sempre uma boa prática :)

[]s



Em 1 de setembro de 2010 12:27, claudemir <[email protected]> escreveu:

> Valeu pela ajuda bruno bg
>
> Segui a sua orientação e fiz assim e funcionou
>   --- meu get
>          public function get nomeUsuario():String{
>                         var result:String = usuario.nome;
>                        return result;
>                }
>
>  --- coluna do datagrid
>  <mx:DataGridColumn headerText="Usuario" dataField="nomeUsuario" />
>
> Muito obrigado
>
> On 1 set, 10:17, bruno bg <[email protected]> wrote:
> > essa maneira {usuario.nome} só funciona no SDK 3.5 ou acima.
> > outras versões faça uso do LabelFunction ou itemRenderer ou crie um GET
> na
> > sua classe pagamento retornando o nome do usuário.
> >
> > um "pitaco", na sua classe USUARIO não precisa o atributo
>  "listPagamentos
> > (array)"
> > na sua classe "pagamento"  já tem atributo "Usuario (objeto)", vc pode
> fazer
> > um filtro com WHERE a partir do id do usuario e trazer todos os
> pagamentos
> > de um determinado Usuario.
> >
> > só um "pitaco".
> >
> > abração
> > --
> > ****************************************************www.brunobg.com
> > [email protected]
> > blogflex.brunobg.com
> > @brunogrohs
> > (21) 9913-2397
> >
> > Em 1 de setembro de 2010 09:52, claudemir <[email protected]>
> escreveu:
> >
> > > Bom dia
> > >   No meu dataGrid tenho uma lista de pagamento e cada pagamento
> > > pertence a um usuario, no entanto não sei como mostrar o nome do
> > > usuario no dataGrid, Tentei fazer assim mas não mostrou nada.
> > > <mx:DataGridColumn headerText="Usuario" dataField="usuario.nome" />
> > > </mx:columns>
> >
> > > Segue abaixo as minhas classes.
> >
> > > package com.digows.artigos.JavaFlex.view.entity
> > > {
> > >        import mx.collections.ArrayCollection;
> >
> > > [RemoteClass(alias="com.digows.artigos.JavaFlex.model.entity.Usuario")]
> > >        [Bindable]
> > >        public class Usuario
> > >        {
> > >                public var id:Number;
> > >                public var nome:String;
> > >                public var login:String;
> > >                public var senha:String;
> >
> > >                public var listPagamentos:ArrayCollection;
> >
> > >                public function Usuario()
> > >                {
> > >                        listPagamentos = new ArrayCollection();
> > >                }
> >
> > >        }
> > > }
> >
> > >
> -----------------------------------------------------------------------------------------
> > > package com.digows.artigos.JavaFlex.view.entity
> > > {
> >
> > >
> [RemoteClass(alias="com.digows.artigos.JavaFlex.model.entity.Pagamento")]
> > >        [Bindable]
> > >        public class Pagamento
> > >        {
> > >                public var id:Number;
> > >                public var dataPagamento:Date;
> > >                public var dataVencimento:Date;
> > >                public var valorPagamento:Number;
> > >                public var valorVencimento:Number;
> > >                public var obs:String;
> > >                public var status:Status;
> > >                public var usuario:Usuario;
> >
> > >                public function Pagamento()
> > >                {
> > >                        status = new Status();
> > >                        usuario = new Usuario();
> > >                        this.status = status;
> > >                }
> >
> > >        }
> > > }
> >
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml";
> > >        creationComplete="getList()" width="100%" height="100%">
> >
> > >        <mx:Panel id="panelPagamento" layout="absolute" title="Controle
> de
> > > Pagamento teste" width="100%" height="100%">
> >
> > >                <mx:Label text="Id:" x="10" y="10"/>
> > >                <mx:TextInput id="idTxt" editable="false"
> enabled="false"
> > > text="{Pagamento(dgPagamento.selectedItem).id}" x="34" y="8"
> > > width="72"/>
> >
> > >                <mx:Label text="Pagamento" x="124" y="10"/>
> >
> > >                <mx:Label text="Vencimento" x="124" y="36"/>
> > >                <mx:DateField id="dtdataPagamento"
> formatString="DD/MM/YYYY"
> >
> > >
> text="{dateFormatter.format(Pagamento(dgPagamento.selectedItem).dataPagamento)}"
> > > x="201" y="34" width="107" />
> >
> > >        <mx:DateField id="dtdataVencimento" formatString="DD/MM/YYYY"
> >
> > >
> text="{dateFormatter.format(Pagamento(dgPagamento.selectedItem).dataVencimento)}"
> > > x="201" y="8" width="107" />
> >
> > >                <mx:TextInput id="valorPagamentoTxt"
> > > text="{Pagamento(dgPagamento.selectedItem).valorPagamento}" x="375"
> > > y="8" width="133"/>
> > >                <mx:Label text="Valor" x="334" y="10"/>
> > >                <mx:Label text="Valor" x="334" y="36"/>
> > >                <mx:TextInput id="valorVencimentoTxt"
> > > text="{Pagamento(dgPagamento.selectedItem).valorVencimento}" x="375"
> > > y="34" width="133"/>
> >
> > >                <mx:ComboBox id="combo_usuarios"
> > > dataProvider="{listUsuarios}"
> > > labelField="nome" x="201" y="64"  width="211" />
> >
> > >                <mx:DataGrid id="dgPagamento"
> > >                        dataProvider="{listPagamentos}" width="100%"
> > > height="130" y="94">
> > >                        <mx:columns>
> > >                                <mx:DataGridColumn headerText="ID"
> > > width="30" dataField="id"/>
> > >                                <mx:DataGridColumn
> headerText="Pagamento"
> > > dataField="dataPagamento" labelFunction="formatDate"/>
> > >                                <mx:DataGridColumn headerText="Valor"
> > > dataField="valorPagamento" /
> >
> > >                                <mx:DataGridColumn
> headerText="Vencimento"
> > > dataField="dataVencimento" labelFunction="formatDate"/>
> > >                                <mx:DataGridColumn headerText="Valor"
> > > dataField="valorVencimento"
> > > labelFunction="formatMoney" />
> > >                                <mx:DataGridColumn headerText="Usuario"
> > > dataField="usuario.nome" /
> >
> > >                        </mx:columns>
> > >                </mx:DataGrid>
> > >        <mx:ControlBar horizontalAlign="center">
> > >                <mx:Button label="Novo" id="btNovo" click="setDefault()"
> > > icon="@Embed('icons/novo2.jpg')"/>
> > >                <mx:Button label="Salvar" id="btSalvar" click="save()"
> > > icon="@Embed('icons/save12.jpg')"/>
> > >                <mx:Button label="Excluir" id="btExcluir"
> click="remove()"
> > > icon="@Embed('icons/delete_lixo_10.jpeg')"/>
> > >        </mx:ControlBar>
> >
> > >        </mx:Panel>
> >
> > >        <mx:CurrencyFormatter id="moneyFormatter" precision="2"
> > > rounding="none"
> > >                decimalSeparatorTo="," thousandsSeparatorTo="."
> > >                useThousandsSeparator="true" useNegativeSign="true"
> > > currencySymbol="$ "
> > >                alignSymbol="left"/>
> >
> > >        <mx:DateFormatter id="dateFormatter" formatString="DD/MM/YYYY"
> />
> >
> > >        <mx:RemoteObject id="pagamentoService" showBusyCursor="true"
> > >                fault="onFault(event)" destination="pagamentoService">
> > >                <mx:method name="save" result="onResultSave(event)"
> > > fault="onFault(event)"/>
> > >                <mx:method name="remove" result="onResultRemove(event)"
> > > fault="onFault(event)"/>
> > >                <mx:method name="getList"
> result="onResultGetList(event)"
> > > fault="onFault(event)"/>
> > >                <mx:method name="getListUsuarios"
> > > result="onResultGetListUsuarios(event)" fault="onFault(event)"/>
> > >                <mx:method name="aviso" result="onResultGetList(event)"
> > > fault="onFault(event)"/>
> > >        </mx:RemoteObject>
> >
> > >        <mx:Script>
> > >                <![CDATA[
> > >                        import
> > > com.digows.artigos.JavaFlex.view.entity.Usuario;
> > >                        import
> > > com.digows.artigos.JavaFlex.view.entity.Status;
> > >                        import
> > > com.digows.artigos.JavaFlex.view.entity.Pagamento;
> > >                        import
> > > com.digows.artigos.JavaFlex.view.entity.Pagamento;
> > >                        import mx.collections.ArrayCollection;
> > >                        import mx.rpc.events.ResultEvent;
> > >                        import mx.rpc.events.FaultEvent;
> > >                        import mx.controls.Alert;
> > >                        import mx.utils.ObjectUtil;
> >
> > >                        [Bindable]
> > >                        private var listPagamentos:ArrayCollection;
> > >            [Bindable]
> > >            private var listUsuarios:ArrayCollection;
> >
> > >                        private var pagamento:Pagamento;
> >
> > >                        private var usuario:Usuario;
> >
> > >                        public function save():void
> > >                        {
> >
> > >  //Alert.show(combo_usuarios.selectedItem.data.toString());
> > >                                this.pagamento = new Pagamento();
> > >                                this.pagamento.dataPagamento   =
> > > dtdataVencimento.selectedDate;
> > >                                this.pagamento.dataVencimento   =
> > > dtdataPagamento.selectedDate;
> > >                                this.pagamento.valorPagamento   =
> > > Number(valorPagamentoTxt.text);
> > >                                this.pagamento.valorVencimento   =
> > > Number(valorVencimentoTxt.text);
> > >                                this.pagamento.obs = "teste";
> > >                                // Pegar o usuario selecionado
> > >                                this.pagamento.usuario =
> > > combo_usuarios.selectedItem as Usuario;
> > >                                //Chama o metodo Save do servico
> > > "cargoService"
> > >                                pagamentoService.save(pagamento);
> > >                        }
> >
> > >                        private function
> > > getListUsuariosResultHandler(event:ResultEvent):void
> > >                        {
> > >                        listUsuarios = event.result as ArrayCollection;
> > >                        combo_usuarios.dataProvider(listUsuarios);
> > >                        }
> >
> > >                        //Função que será executada após a conclusão do
> > > método save
> > >                        public function
> onResultSave(event:ResultEvent):void
> > >                        {
> > >                                status = "Salvo com Sucesso! Ultima ID:
> > > "+Pagamento(event.result).id;
> > >                                getList();
> > >                        }
> >
> > >                        public function remove():void
> > >                        {
> > >                                if (dgPagamento.selectedItem != null) {
> > >                                        pagamento =
> dgPagamento.selectedItem
> > > as Pagamento;
> > >
>  pagamentoService.remove(pagamento);
> > >                                } else {
> > >                                        Alert.show("Selecione um Item na
> > > DataGrid");
> > >                                }
> > >                        }
> >
> > >                        //Função que será executada após a conclusão do
> > > método remove
> > >                        public function
> > > onResultRemove(event:ResultEvent):void
> > >                        {
> >
> > ...
> >
> > mais »
>
> --
> 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
>



-- 
Mario Junior
http://blog.mariojunior.com/
@mariojunior

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