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

Responder a