Olá! coloquei um comboBox na minha tela flex e preciso listar os produtos nele. Na propriedade id eu coloquei o id do produto mas não sei qual propriedade eu coloco pra aparecer o nome do produto dentro do comboBox. Criei o metodo listarprodutos na minha classe java mas não sei como invocar ele no comboBox. :oops: :?: Helpe me please…
Cara a propriedade é a label
E para vc preencher o combobox com os produtos ai, vc precisar gerar um xml dos produtos, tipo assim:
<data>
<produto id="1">
<nome></nome>
<preco></preco>
<...></...>
</produto>
</data>
Depois de gerar este xml dinamicamente, vc precisa fazer o flex acessar ele, dai vc faz assim:
<mx:ComboBox x="20" y="6" id="listProdutos"
initialize="{init()}"/>
<mx:Script>
var produto:Array = null;
private function init():void{
var httpService:HTTPService = new HTTPService();
httpService.url = "<endereco_do_xml_gerado>"; //"http://localhost/Produtos/listaProdutos.jsp"
httpService.resultFormat = "e4x";
httpService.addEventListener(ResultEvent.RESULT, this.preencheComboBox);
httpService.addEventListener(FaultEvent.FAULT, this.failRequest);
httpService.send();
}
/**
* Este metodo preenche o ComboBox com a lista dos relatorios cadastrado no
* banco
* @param ResultEvent - Evento lancado pelo metodo HTTPService.send()
* caso a requisicao obteve sucesso
*/
private function preencheComboBox(event:ResultEvent):void{
var xmlList:XMLList = event.result.report;
var len:Number = xmlList.length();
produto = new Array();
produto.push({label:"Selecione o relatório desejado"});
for(var i:Number = 0; i < len; i++){
produto.push({label:xmlList[i].nome, preco:xmlList[i].preco});
}
listProdutos.dataProvider = reports;
}
</mx:Script>
Acho q isso deve resolver o seu problema