Como vc tá usando .net, dá pra vc ter uma classe Pmod no flex.
É só marcar ela como sendo a mesma classe do .net.

No alert, vc teria então:

var pmod:Pmod = dg.dataProvider;
Alert.show(pmod.atributo_que_vai_exibir);

Algo assim... Isto ajuda, mas não é necessário. Se você debugar, já vai
descobrir onde está errado.

2009/12/8 Airton Toyansk <atoya...@gmail.com>

> Tentei outra coisa.
>
> Inseri o seguinte código:
> private function alertDg():void
>
> {
>      var obj: Object = dg.dataProvider;
>      Alert.show(obj.toString());
> }
>
> E o Alert me exibiu a seguinte mensagem:
> [object Pmod]
>
> Sendo que Pmod é o nome do meu source no RemoteObject (das classes no Flex
> e no .Net).
> É o mesmo resultado em usar
> private function alertDg():void
> {
>      Alert.show(dg.dataProvider.toString());
> }
>
> Isso ajuda a descobrir o que pode ser?
>
> Obrigado!
>
> 2009/12/8 José Alexandre D'Abruzzo Pereira <jose...@gmail.com>
>
>> Sem ver o código todo fica difícil de saber o que é.
>>
>> Debuga tanto o método result do remote quanto antes de exibir o alert. Às
>> vezes a propriedade tem algum erro de digitação. Debugando dá pra ver
>> direito como está retornando do remote.
>>
>>
>> 2009/12/8 Airton Toyansk <atoya...@gmail.com>
>>
>>> 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 <jose...@gmail.com>
>>>
>>> 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
>>>>
>>>>
>>>>
>>>>
>>>>
>>
>>
>> --
>> 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