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

Responder a