Se insiro a verificação, não exibe Alert (e não dá erro). Se comento o if, exibe o erro: *Error: Unknown Property: 'X'*
Ou seja, este objeto não tem o atributo X... 2009/12/8 José Alexandre D'Abruzzo Pereira <[email protected]> > 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 <[email protected]> > > 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 <[email protected]> >> >> 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 <[email protected]> >>> >>> 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 <[email protected]> >>>> >>>>> 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 <[email protected]> >>>>> >>>>>> @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 <[email protected]> >>>>>> >>>>>>> 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 <[email protected]> >>>>>>> >>>>>>> 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 [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 -~----------~----~----~----~------~----~------~--~---
