Preencher o comboBox

4 respostas
R

Olá! não consigo preencher meu comboBox e nem inserir itens fazendo com que os dados aparecam no dataGrid. Preciso de ajuda urgente pois preciso entregar meu trabalho :oops: :?:. Segue ai uma parte do codigo: Grato.

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

<mx:Application xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“absolute”
xmlns:entidade=“entidade."
creationComplete=“buscar()” xmlns:local="
”>

<mx:Script>
	<![CDATA[
		import mx.controls.List;
				import mx.controls.dataGridClasses.DataGridColumn;
					import mx.utils.StringUtil;
					import mx.managers.DragManager;
					import mx.controls.Alert;
					import mx.containers.Panel;
					import mx.events.DragEvent;
					import mx.rpc.events.FaultEvent;
					import entidade.NotaFiscal;
					import entidade.Produto;
					import entidade.ItemNota;
					import mx.rpc.events.ResultEvent;
					import mx.collections.ArrayCollection;
					
					[Bindable]
					private var listaDeNotas:ArrayCollection;
					
					[Bindable]
					private var listaDeItens:ArrayCollection;
					
					[Bindable]
					private var listaDeProdutos:List;
					
				private function salvarResult(event:ResultEvent):void{
						if(event.result != null){
						notaFiscal = event.result as NotaFiscal;
							buscar();
						}
					}
					
				private function inserirItensResult(event:ResultEvent):void{
						if(event.result != null){
						itemNota = event.result as ItemNota;
						}
					}
					
				private function excluirResult(event:ResultEvent):void{
						limpar();
						buscar();
					}
					
				private function alterarResult(event:ResultEvent):void{
						if(event.result != null){
						notaFiscal = event.result as NotaFiscal
							buscar();
						}
					}
					
				private function listarResult(event:ResultEvent):void{
						if(event.result != null){
							
					listaDeNotas = event.result as ArrayCollection;
					listaDeItens = event.result as ArrayCollection;
						}else{
						listaDeNotas = new ArrayCollection();
						listaDeItens = new ArrayCollection();
							
						}
					}
					
				private function listarResultProdutos(event:ResultEvent):void{
						listaDeProdutos = event.result as List;
					}
					
				private function erroFault(event:FaultEvent):void{
				Alert.show("Erro: " + event.fault.faultDetail.toString());
					}
					
					public function salvar():void{
						roNotaFiscal.salvar(notaFiscal);
					}
					
					public function alterar():void{
						roNotaFiscal.alterar(notaFiscal);
					}
					
					public function excluir():void{
						roNotaFiscal.excluir(notaFiscal);
					}
					
					public function buscar():void{
						roNotaFiscal.buscar();
					}
					
					public function inserirItens():void{
						roNotaFiscal.inserirItens();
					}
					
					public function buscarPorNotaFiscal():void{
						roNotaFiscal.buscarPorNotaFiscal();
					}
					
					public function listarProdutos():void{
						roNotaFiscal.pegaProdutos();
					}
					
					public function listarItens():void{
						roNotaFiscal.pegaItens();
					}
					
					public function limpar():void{
						notaFiscal = new NotaFiscal();
					}
					
				private function dragEnterHandler(event:DragEvent):void{
					var dropTarget:Panel=Panel(event.currentTarget);
					DragManager.acceptDragDrop(dropTarget);
					}
					
				private function dragDropHandler(event:DragEvent):void{
			notaFiscal = event.dragSource.dataForFormat("items")[0] as NotaFiscal;
					}
					
	]]>
</mx:Script>

<entidade:NotaFiscal id="notaFiscal"/>
<entidade:Produto id="produto"/>
<entidade:ItemNota id="itemNota"/>




<mx:SeriesZoom id="seriesZoom" duration="2000"/>
			
<mx:Binding source="Number(tiIdNota.text)" destination="notaFiscal.id"/>
<mx:Binding source="data(tiDataEmissao.text)" destination="notaFiscal.dataEmissao"/>

<mx:Panel  width="100%" height="177" layout="absolute" 
	title="Cadastro de Notas"
	dragEnter="dragEnterHandler(event);"
	dragDrop="dragDropHandler(event);">
	<mx:Label x="10" y="10" text=" Id: #"/>
	<mx:Label x="10" y="38" text="Data de Emissao: *"/>
	<mx:TextInput x="56" y="8" width="81" enabled="false" editable="false" id="tiIdNota"
			text="{notaFiscal.id == 0 || isNaN(notaFiscal.id) ? null : notaFiscal.id}"/>
	
	<mx:TextInput x="133" y="36" maxChars="100" width="246" id="tiDataEmissao" text="{notaFiscal.dataEmissao}"/>
	<mx:ComboBox id="cbProdutos" 
	 dataProvider="{listaDeProdutos}"  labelField="{produto.nome}" x="77" y="69" width="150">
	
	</mx:ComboBox>
	<mx:Label x="10" y="73" text="Produtos:"/>
	
	<mx:ControlBar>
		<mx:Button label="Salvar" click="salvar()"/>
		<mx:Button label="Excluir" click="excluir()"/>
		<mx:Button label="Alterar" click="alterar()"/>
		<mx:Button label="Limpar" click="limpar()"/>
		<mx:Button label="Inserir Iten" click="inserirItens()"/>
		
	</mx:ControlBar>
	
</mx:Panel>

<mx:RemoteObject id="roNotaFiscal" destination="notaFiscal">

	<mx:method name="salvar"
		fault="erroFault(event)"
		result="salvarResult(event)"/>
	
	<mx:method name="alterar"
		fault="erroFault(event)"
		result="alterarResult(event)"/>
		
	<mx:method name="excluir"
		fault="erroFault(event)"
		result="excluirResult(event)"/>
		
	<mx:method name="buscar"
		fault="erroFault(event)"
		result="listarResult(event)"/>
		
	<mx:method name="pegaItens"
		fault="erroFault(event)"
		result="listarResult(event)"/>	
		
	<mx:method name="pegaProdutos"
		fault="erroFault(event)"
		result="listarResultProdutos(event)"/>
		
	<mx:method name="inserirItens"
		fault="erroFault(event)"
		result="inserirItensResult(event)"/>
		
</mx:RemoteObject>
<mx:Panel x="10" y="185" width="462" height="138" layout="absolute" title="Lista de Notas Fiscais">
	<mx:DataGrid x="0" y="0" width="432" height="120"
		dragEnabled="true"
		dataProvider="{listaDeNotas , listaDeItens}"
		id="dgNotas">
		<mx:columns>
		<mx:DataGridColumn headerText="Id_NotaFiscal" dataField="id" width="100"/>
	<mx:DataGridColumn headerText="Data_Emissao" dataField="dataEmissao" width="100"/>
	<mx:DataGridColumn headerText="Id_Item" dataField="{itemNota.id}"/>
	<mx:DataGridColumn headerText="Id_Produto" dataField="{produto.id}"/>
	<mx:DataGridColumn headerText="Quantidade" dataField="{itemNota.quantidade}"/>
		</mx:columns>
	</mx:DataGrid>

</mx:Panel>

</mx:Application>

4 Respostas

Vinny

Primeiramente SEMPRE USE A TAG CODE para posta o codigo, isso é umas das regras
do forum sem conta que fica orrivel para ler o codigo sem a tag!
Da uma lida neste topico:
http://www.guj.com.br/posts/list/50115.java

bom mas pra vc adiconar itens ao combo vc faz da seguinte maneira:
esse exemplo que eu passeo é em JAVA

JComboBox1.addItem("ITEM 1");

ve se isso te ajuda, e nao esquece de usar o tag code da proxima vez!

marciosantri

Mas isto não é Flex? Sugiro o fórum do FlexBrasil.

Normalmente se utiliza o dataprovider para popular um combobox,
utilizando um arraycollection. Dá uma olhada no google que tem
vários exemplos.

Inté.

E

Isso é Flex e não tem nenhuma relação com JSTL, más bele.

Mude seu código para este, e pronto funcionando, hehe.

<mx:ComboBox id="cbProdutos" dataProvider="{listaDeProdutos}" labelField="nome" " x="77" y="69" width="150" />

Abraço e boa sorte com FLEX.

R

eu ja criei uma lista agora preciso busca-la e preencher a comboBox. Me ajudem por favor. Vou mandar o codigo pois a no java ta tudo ok.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
	xmlns:entidade="entidade.*"
	creationComplete="buscar() "  xmlns:local="*">

	<mx:Script>
		<![CDATA[
			import mx.controls.List;
						import mx.controls.dataGridClasses.DataGridColumn;
						import mx.utils.StringUtil;
						import mx.managers.DragManager;
						import mx.controls.Alert;
						import mx.containers.Panel;
						import mx.events.DragEvent;
						import mx.rpc.events.FaultEvent;
						import entidade.NotaFiscal;
						import entidade.Produto;
						import entidade.ItemNota;
						import mx.rpc.events.ResultEvent;
						import mx.collections.ArrayCollection;
						
						
						[Bindable]
						private var listaDeNotas:ArrayCollection;
						
						[Bindable]
						private var listaDeItens:ArrayCollection;
						
						[Bindable]
						private var listaDeProdutos:List;
						
						private function salvarResult(event:ResultEvent):void{
							if(event.result != null){
								notaFiscal = event.result as NotaFiscal;
								buscar();
							}
						}
						
						private function inserirItensResult(event:ResultEvent):void{
							if(event.result != null){
								itemNota = event.result as ItemNota;
							}
						}
						
						private function excluirResult(event:ResultEvent):void{
							limpar();
							buscar();
						}
						
						private function alterarResult(event:ResultEvent):void{
							if(event.result != null){
								notaFiscal = event.result as NotaFiscal;
								buscar();
							}
						}
						
						private function listarResult(event:ResultEvent):void{
							if(event.result != null){
								
								listaDeNotas = event.result as ArrayCollection;
								listaDeItens = event.result as ArrayCollection;
								//listaDeProdutos = event.result as ArrayCollection;
							}else{
								listaDeNotas = new ArrayCollection();
								listaDeItens = new ArrayCollection();
								//listaDeProdutos = new ArrayCollection();
								
							}
						}
						
						private function listarResultProdutos(event:ResultEvent):void{
							if(event.result != null){
								listaDeProdutos = event.result as List;
							}else{
								listaDeProdutos = new List();
							}
							
						}
						
						private function erroFault(event:FaultEvent):void{
							Alert.show("Erro: " + event.fault.faultDetail.toString());
						}
						
						public function salvar():void{
							roNotaFiscal.salvar(notaFiscal);
						}
						
						public function alterar():void{
							roNotaFiscal.alterar(notaFiscal);
						}
						
						public function excluir():void{
							roNotaFiscal.excluir(notaFiscal);
						}
						
						public function buscar():void{
							roNotaFiscal.buscar();
						}
						
						public function inserirItens():void{
							roNotaFiscal.inserirItens();
						}
						
						public function buscarPorNotaFiscal():void{
							roNotaFiscal.buscarPorNotaFiscal();
						}
						
						public function listarProdutos():void{
							roProduto.listar();
						}
						
						public function listarItens():void{
							roNotaFiscal.pegaItens();
						}
						
						public function limpar():void{
							notaFiscal = new NotaFiscal();
						}
						
						private function dragEnterHandler(event:DragEvent):void{
							var dropTarget:Panel=Panel(event.currentTarget);
							DragManager.acceptDragDrop(dropTarget);
						}
						
						private function dragDropHandler(event:DragEvent):void{
							notaFiscal = event.dragSource.dataForFormat("items")[0] as NotaFiscal;
						}
						
		]]>
	</mx:Script>
	
	<entidade:NotaFiscal id="notaFiscal"/>
	<entidade:Produto id="produto"/>
	<entidade:ItemNota id="itemNota"/>
	
	
	
	
	<mx:SeriesZoom id="seriesZoom" duration="2000"/>
				
	<mx:Binding source="Number(tiIdNota.text)" destination="notaFiscal.id"/>
	<mx:Binding source="data(tiDataEmissao.text)" destination="notaFiscal.dataEmissao"/>
	
	<mx:Panel  width="100%" height="177" layout="absolute" 
		title="Cadastro de Notas"
		dragEnter="dragEnterHandler(event);"
		dragDrop="dragDropHandler(event);">
		<mx:Label x="10" y="10" text=" Id: #"/>
		<mx:Label x="10" y="38" text="Data de Emissao: *"/>
		<mx:TextInput x="56" y="8" width="81" enabled="false" editable="false" id="tiIdNota"
							text="{notaFiscal.id == 0 || isNaN(notaFiscal.id) ? null : notaFiscal.id}"/>
		
		<mx:TextInput x="133" y="36" maxChars="100" width="246" id="tiDataEmissao" text="{notaFiscal.dataEmissao}"/>
		<mx:ComboBox id="cbProdutos" 
		 dataProvider="{listaDeProdutos}"  labelField="{produto.nome}" x="77" y="69" width="150">
		
		</mx:ComboBox>
		<mx:Label x="10" y="73" text="Produtos:"/>
		
		<mx:ControlBar>
		
			<mx:Button label="Salvar" click="salvar()"/>
			<mx:Button label="Excluir" click="excluir()"/>
			<mx:Button label="Alterar" click="alterar()"/>
			<mx:Button label="Limpar" click="limpar()"/>
			<mx:Button label="Inserir Iten" click="cbProdutos.selectedItem "/>
			
		</mx:ControlBar>
		
	</mx:Panel>
	
	<mx:RemoteObject id="roNotaFiscal" destination="notaFiscal">
	
		<mx:method name="salvar"
			fault="erroFault(event)"
			result="salvarResult(event)"/>
		
		<mx:method name="alterar"
			fault="erroFault(event)"
			result="alterarResult(event)"/>
			
		<mx:method name="excluir"
			fault="erroFault(event)"
			result="excluirResult(event)"/>
			
		<mx:method name="buscar"
			fault="erroFault(event)"
			result="listarResult(event)"/>
			
		<mx:method name="pegaItens"
			fault="erroFault(event)"
			result="listarResult(event)"/>	
			
		
			
		<mx:method name="inserirItens"
			fault="erroFault(event)"
			result="inserirItensResult(event)"/>
			
	</mx:RemoteObject>
	
	<mx:RemoteObject id="roProduto" destination="produto">
		<mx:method name="listar"
			fault="erroFault(event)"
			result="listarResultProdutos(event)"/>
			
	</mx:RemoteObject>
	
	<mx:Panel x="10" y="185" width="462" height="138" layout="absolute" title="Lista de Notas Fiscais">
		<mx:DataGrid x="0" y="0" width="432" height="120"
			dragEnabled="true"
			dataProvider="{listaDeNotas , listaDeItens}"
			id="dgNotas">
			<mx:columns>
				<mx:DataGridColumn headerText="Id_NotaFiscal" dataField="id" width="100"/>
				<mx:DataGridColumn headerText="Data_Emissao" dataField="dataEmissao" width="100"/>
				<mx:DataGridColumn headerText="Id_Item" dataField="{itemNota.id}"/>
				<mx:DataGridColumn headerText="Id_Produto" dataField="{produto.id}"/>
				<mx:DataGridColumn headerText="Quantidade" dataField="{itemNota.quantidade}"/>
			</mx:columns>
		</mx:DataGrid>
	
	</mx:Panel>
	
	
	
	
</mx:Application>
Criado 12 de julho de 2009
Ultima resposta 13 de jul. de 2009
Respostas 4
Participantes 4