private function exibeX(): void { var obj: Object = dg.dataProvider; if (obj.hasProperty("X")) // Como ele retorna um object, é bom verificar se aquele objeto tem o atributo X. Alert.show(obj["X"]); // isto é o equivalente a obj.X; }
2009/12/8 Airton Toyansk <atoya...@gmail.com> > E se eu carregar como um Object, dessa forma: > dg.dataProvider = e.result *as* Object; > Ele exibe no DataGrid do mesmo jeito. Mas como exibir no Alert (estou com > dificuldade mesmo sendo um objeto)? > > Obrigado! > > Airton Toyansk > > 2009/12/7 José Alexandre D'Abruzzo Pereira <jose...@gmail.com> > > Pode ser feito como vc fez. Aí na hora de dar o Alert é só fazer >> ArrayCollection(dg.dataProvider) e pegar o ArrayCollection e indexa de zero. >> Vc vai ter um Object. Aí é só pegar a propriedade X do Object: >> obj.X ou obj["X"]. >> >> Se vc recebe sempre um objeto, será que é necessário colocar num >> ArrayCollection? Não dá pra colocar direto num objeto? Isto também acaba >> dependendo do retorno do seu método na sua linguagem server-side. Se estiver >> retornando um ArrayList ou algo assim, tudo bem. Se estiver retornando >> apenas um objeto, acho que não compensa colocar num ArrayCollection. >> >> Tem muitas formas de fazer o que você quer. Só que tem que escolher a >> melhor para deixar o swf mais leve e não sobrecarregar o cliente =) >> >> 2009/12/7 Airton Toyansk <atoya...@gmail.com> >> >> Na verdade, resolveria se este registro fosse exibido em um TextInput. >>> Mas não consegui carregá-lo num campo de texto no creationComplete, só num >>> DataGrid, dessa forma: >>> >>> public function getDataR(e:ResultEvent):void >>> { >>> dg.dataProvider = e.result as ArrayCollection; >>> } >>> >>> Se estivesse num campo de texto, estaria resolvido mandar para o >>> Alert... Como posso fazer carregar num TextInput no método chamado no result >>> do RemoteObject? >>> Vou tentar também a opção no DataGrid. >>> >>> Obrigado! >>> >>> Airton Toyansk >>> 2009/12/6 José Alexandre D'Abruzzo Pereira <jose...@gmail.com> >>> >>>> Se é apenas uma linha tem que ser um DataGrid para exibir estes valores? >>>> >>>> >>>> De qualquer forma, é só fazer no creationComplete da sua aplicação, um >>>> método que pegue a primeira posição do dataProvider do DataGrid, pegar o >>>> atributo X e dar o Alert. >>>> >>>> Se os dados estiverem vindo de um RemoteObject ou de um WebService, tem >>>> que ser no método chamdo no result destas operações. >>>> >>>> Se não der certo ainda, posta o seu código pra gente ver... >>>> >>>> >>>> 2009/12/6 Airton Toyansk <atoya...@gmail.com> >>>> >>>>> @José, >>>>> >>>>> Quero poder exibir logo que carrego a aplicação. >>>>> No meu datagrid, tenho apenas uma coluna e uma linha (sempre). E quero >>>>> exibir este valor no Alert assim que o usuário entre, ou seja, sem >>>>> selecionar o registro (por isso minha dificuldade, pq não posso usar o >>>>> selectedItem). >>>>> >>>>> Airton Toyansk >>>>> >>>>> 2009/12/6 José Alexandre D'Abruzzo Pereira <jose...@gmail.com> >>>>> >>>>>> Mas em qual momento você quer exibir o Alert? >>>>>> >>>>>> Uma possibilidade seria no click da grid, selecionando uma linha. Aí >>>>>> neste método é só pegar dataGrid.selectedItem, que retorna um Object. >>>>>> Este é >>>>>> o objeto que popula aquela linha do grid. Aí é só acessa o atributo que >>>>>> popula a coluna X. Algo como: >>>>>> >>>>>> var obj: Object = dataGrid.selectedItem; >>>>>> Alert.show(obj.X); >>>>>> >>>>>> 2009/12/6 Airton Toyansk <atoya...@gmail.com> >>>>>> >>>>>> Pessoal, >>>>>>> >>>>>>> Existe alguma maneira de recuperar determinado dado de um datagrid >>>>>>> vindo de um BD e exibí-lo num Alert? >>>>>>> Algo como "exiba dado da coluna X e linha Y"? >>>>>>> >>>>>>> Agradeço as respostas. >>>>>>> >>>>>>> Airton Toyansk >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> José Alexandre D'Abruzzo Pereira >>>>>> >>>>>> >>>>>> >>>> >>>> >>>> -- >>>> José Alexandre D'Abruzzo Pereira >>>> >>>> >>>> >>>> >>>> >> >> >> -- >> José Alexandre D'Abruzzo Pereira >> >> >> >> >> >> -- José Alexandre D'Abruzzo Pereira --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---