Só uma dúvida Luis Eduardo, por padrão, se não for especificado o HTTPService traz as informações como objeto, tentei usar os outros tipos e nenhum funcionou somente o objeto que formato é esse e4x?
no meu caso as informações saem do php assim: <resultado> ....<respostas> .........<id>10</id> .........<resp>Ótimo</resp> .........<voto>15</voto> .........<unico>1</unico> ....</respostas> </resultado> <resultado> ....<respostas> .........<id>10</id> .........<resp>Bom</resp> .........<voto>19</voto> .........<unico>2</unico> ....</respostas> </resultado> att Quinhone ----- Original Message ----- From: "Luís Eduardo" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Friday, March 09, 2007 5:49 PM Subject: [flexdev] Re: ArrayCollection + AhaTTPService segue um exemplo. no mxml: <mx:HTTPService id="dsContaContabil" url="urlaqui" useProxy="false" resultFormat="e4x" method="POST" contentType="application/x-www-form-urlencoded" showBusyCursor="true" result="handleDsContaContabilResult(event)" fault="handleDsFault(event)" > </mx:HTTPService> <mx:XMLListCollection id="ContaContabilXMLLC"/> no script: private function handleDsContaContabilResult( ev:ResultEvent ):void { var raiz:XML = XML(ev.result.toString()); raiz = raiz.normalize(); // transferindo resultado para o dataprovider do datagrid var temp:XMLList = raiz.response.ContaContabil; ContaContabilXMLLC.removeAll(); ContaContabilXMLLC.source = temp; } essa é a idéia da coisa. Tive que remover umas linhas pra deixar mais legivel o foco do problema. (pegar o resultado do httpservice e jogar no collection) []s Luís Eduardo. Luis Carlos Quinhone escreveu: >e como vc pega o resultado do HTTPService e joga no XMLListCollection? > >Att > >Quinhone > >----- Original Message ----- >From: "Luís Eduardo" <[EMAIL PROTECTED]> >To: <[email protected]> >Sent: Friday, March 09, 2007 2:16 PM >Subject: [flexdev] Re: ArrayCollection + AhaTTPService > > > > > > Quinhone, eu não pude olhar seu codigo fonte inteiro mas já tive um >erro parecido quando tentei usar esse metodo indexado [0]. > existem alguns jeitos de resolver... o jeito mais correto seria >testar se existe mesmo tal nó antes de tentar acessá-lo. Tanto os nós >filhos (aqueles com []) quanto os nós pais da hierarquia. >lastResult.resultado.respostas. O ideal mesmo era não usar lastResult. >Melhor seria usar o evento result do HTTPService e lá dentro vc trata e >monta um arraycollection pro resto da aplicação usar. > eu aqui uso XMLListCollection.. é um pouco diferente do >ArrayCollection, mas aqui faço assim: > > para testar se existe um nó "Combustivel" dentro de um xml antes de >enviar o Id a um lookupcombobox.: > > if ( xmlIn.Combustivel != undefined ) { > cbxCombustivelC.selectItemByValue( >[EMAIL PROTECTED] ); > } else { cbxCombustivelC.clearItem();} > > para acessar um item indexado, e testar antes se ele existe mesmo, >aqui eu uso assim: > >if (XMLList(xmlMestre).children().length() > 0) { > dtEmissaoC.text = XMLList(xmlMestre)[EMAIL PROTECTED]; > } > else { > dtEmissaoC.clearItem(); > } > >onde o xmlmestre tem o formato: ><Pagamento> varios subitems </Pagamento> ><Pagamento> varios subitems </Pagamento> ><Pagamento> varios subitems </Pagamento> > >(perceba que não tem um nó raiz, logo não é um xml válido, mas o XMLList >sempre tem um nó raiz próprio e o cast já trata isso pra mim.) > > >agora.... sempre existe a solução ultra super rápida is very good POG. :) >coloca assim: > >private function gauge():void { >try { >toda a função aqui >} catch(erro:Error) { >return >} >} > >que ninguem mais vai ver o pipino, nem o usuario nem o gerente de >projeto. Vc resolve o erro em 1 min e ainda leva a fama de que é bom de >serviço. hehe > >eeee mundo cruel. > > abração. > > Luís Eduardo. > > > >Luis Carlos Quinhone escreveu: > > > >>Bom é o seguinte pessoal, não me conformei com um Warning que o flex >>está me mostrando com relação a minha enquete, então resolvi encará-la. >> >>esse warning é porque usei essa linha: >>{pegaDados.lastResult.resultado.respostas[0].unico} >>o flex não aceita, executa, mas pro flex é anti-ético, usar respostas[ >>0 ] ele pede pra usar o ArrayCollection.getItemAt(0), então fui a luta >>atrás dele na documentação, criei usaei, mas não pega o resultado, >>então se alguém já usaou ou souber usar e puder me ensinar ou mandar >>algum material eu agradeço. >>Pq na doocumentação só mostra exemplo simples com Array. >> >>Estou tentando usar da seuinte forma: >> >> [Bindable] >> public var myAC:ArrayCollection; >> >> public function initData():void { >> myAC = new >>ArrayCollection(ArrayUtil.toArray(pegaDados.lastResult.resultado.respostas)); >>//pega dados é o meu HTTPServce >> } >> >>e estou pegando assim os dados: >> >><mx:Label x="133" y="10" text="{myAC.getItemAt(1)}" id="lbl1"/> >> >>mas não pega nada >> >>Att >> >>Quinhone >> >> >> > > > > >> > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
