Obrigado Elvis,

 

Funcionou, resolveu o problema.

 

Att.

Fernando Lodi

 

  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de
Elvis Fernandes
Enviada em: domingo, 28 de outubro de 2007 07:56
Para: [email protected]
Assunto: [flexdev] Re: Problema ao popular Combobox

 

Olá!

Experimenta trocar o xml gerado pelo PHP para que ele retorne <data> e
<label> no lugar de <uf> e <nome>, assim o combo já vai saber onde pegar o
'data' e o 'label'.

Outra coisa: o seu código PHP está retornando uma lista de ufs e nomes
misturados, assim:

<retorno>
  <uf>SP</uf>
  <nome>São Paulo</nome>
  <uf>RJ</uf>
  <nome>Rio de Janeiro</nome> 
</retorno>

Seria melhor você fazer com que o xml retornasse o cada estado
separadamente, assim:

<estados>
  <estado> 
    <data>SP</data>
    <label>São Paulo</label>
  </estado>
  </estado>
    <data>RJ</data>
    <label>Rio de Janeiro</label>
  </estado>
</estados>

E o data provider do combo fica assim:

dataProvider="{busca_uf.lastResult.estados.estado}" 

Espero ter ajudado!

Elvis




On 10/27/07, Fernando Lodi <[EMAIL PROTECTED]> wrote:

Boa tarde,

 

Sou novato em Flex e estou com problema para popular um combobox a partir de
um HTTPService, que chama uma função php que por sua vez gera um XML.
Consigo popular ou com o campo uf do XML ou com o campo nome, quando na
verdade quero jogar os dois para o combobox, o campo uf como data:...   e o
campo nome como label:... Se alguém puder ajudar agradeço.

Valeu

Fernando

 

Arquivo php.php

 

<?

function busca_uf(){

      $q_uf = "select * from uf";

      $res_uf = mysql_query($q_uf);

      $xml_uf = "<retorno>";

      while($l_uf = mysql_fetch_array($res_uf)){

 

            $xml_uf.= "<uf>$l_uf[0]</uf>";

            $xml_uf.= "<nome>$l_uf[1]</nome>";

      }

      $xml_uf.= "</retorno>";

      print $xml_uf;

      

      $file = fopen("busca_uf.txt", "w");

      fwrite($file, $xml_uf);

      fclose($file);

}

 

?>

 

Arquivo cadastros.mxml

 

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute"
currentState="frm_j" >

      <mx:HTTPService id="busca_uf"
url="http://localhost/cadastros/bin/php.php"; useProxy="false" method="POST">

            <mx:request xmlns="">

                  <funcao>busca_uf</funcao>

            </mx:request>     

      </mx:HTTPService>

 

      <mx:Script>

            <![CDATA[

                  import mx.collections.ArrayCollection;

                  import mx.rpc.events.ResultEvent;

                  import mx.controls.*

                  import mx.events.*;

                  

                  private function bus_uf():void{ 

                        busca_uf.send();

                  }

                        

            ]]>

<mx:states>

            <mx:State name="frm_j">

                  <mx:AddChild position="lastChild">

                        <mx:Panel x="0" y="36" width="800" height="636"
layout="absolute" title="Cadastro de pessoa Jurídica">

                             <mx:ComboBox id="cb_uf" x="91" y="183"
creationComplete="bus_uf();"
dataProvider="{busca_uf.lastResult.retorno.uf}"></mx:ComboBox>

                        </mx:Panel>

                  </mx:AddChild>

            </mx:State>

 

                        

      </mx:states>

      

</mx:Application>

 

 

 





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