Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edsonantolini

[Resolvido]Polular TextInput - Flex

Recommended Posts

Ola,

 

Não estou conseguindo traser algums dados do banco, para minha aplicação em flex. Polular um datagrid consigo normal.

 

Estou usando o AMFPHP

 

Segue os codigos

 

MXML

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*"
layout="absolute" viewSourceURL="srcview/index.html">

<mx:RemoteObject
	id="ro_nota" 
	destination="amfphp"
	source="manutencao_notas"
	showBusyCursor="true">

	<mx:method 
		name="pesquisaNotas"
		result="{resultado_Notas(event)}"
		fault="mx.controls.Alert.show('Erro ao Mostrar Nota'+event.fault.faultString)"
		>
		<mx:arguments>
			<nota>{pesquisaNota.text}</nota>
			<filial>{tx_cambiNota.text}</filial>
		</mx:arguments>
	</mx:method>
</mx:RemoteObject>
<mx:Script source="funcoes_nota.as" />
<mx:Canvas x="0" y="0" width="100%" height="63">
	<mx:ApplicationControlBar x="31" y="10"  width="95%" dock="true" >
		<mx:RadioButton label="N2" click="tx_cambiNota.text = 'N2'" value="N2" groupName="Nota"/>			
		<mx:RadioButton label="N3" click="tx_cambiNota.text = 'N3'" value="N3" groupName="Nota"/>
		<mx:RadioButton label="N4" click="tx_cambiNota.text = 'N4'" value="N4" groupName="Nota"/>
		<mx:TextInput width="132" id="pesquisaNota"/>
		<mx:Button label="Nota" click="pesquisar_clientes()"/>
		<mx:TextInput id="tx_cambiNota" visible="true"  width="93"/> 
	</mx:ApplicationControlBar>
</mx:Canvas>

<mx:Canvas x="0" y="71" width="100%" height="68">
	<mx:DataGrid x="32" y="10" height="45" width="95%" id="datagrid_notas" dataProvider="{array_notas}">
		<mx:columns>
			<mx:DataGridColumn headerText="Nº NFE" 		 dataField="notanum"/>
			<mx:DataGridColumn headerText="COD CLIENTE"  dataField="cliente"/>
			<mx:DataGridColumn headerText="CHAVE DANFE"  dataField="idnfe"/>
			<mx:DataGridColumn headerText="COD NFE" 	 dataField="codnfe"/>
			<mx:DataGridColumn headerText="COD LOTE NFE" dataField="codlotenfe"/>
			<mx:DataGridColumn headerText="DT SAIDA" 	 dataField="saida"/>
		</mx:columns>
	</mx:DataGrid>
</mx:Canvas>
<mx:Canvas x="30" y="147" width="100%" height="430">
	<mx:TabNavigator id="tab"
			width="100%"
			height="400" y="4">

			<local:IFrame id="test1"
			    label="Google"
				source="http://www.google.com.br"
				width="100%"
				height="200%"
				/>

			<local:IFrame id="test2"
			    label="Receita"
				source="http://nfe.fazenda.sp.gov.br/ConsultaNFe/consulta/publica/ConsultarNFe.aspx"
				width="100%"
				height="100%"
				/>

	</mx:TabNavigator>
</mx:Canvas>
<mx:Canvas x="0" y="585" width="100%" height="72">
	<mx:DataGrid x="32" y="10" height="45" width="95%" id="datagrid_notas1" dataProvider="{array_notas}">
		<mx:columns>
			<mx:DataGridColumn headerText="CODIGO" 						dataField="codigo"/>
			<mx:DataGridColumn headerText="CHAVE DANFE / chave alt" 	dataField="idnfe_mod"/>
			<mx:DataGridColumn headerText="COD NFE / codigo alterado" 	dataField="codnfe_mod"/>
			<mx:DataGridColumn headerText="COD LOTE NFE" 				dataField="codlotenfe" />
		</mx:columns>
	</mx:DataGrid>
</mx:Canvas>
<mx:Canvas x="0" y="665" width="100%" height="72">

</mx:Canvas>
<mx:Grid x="30" y="679" width="100%" >
	<mx:GridRow width="100%" height="100%">
		<mx:GridItem> <mx:Label text="CSTAT_NFE" />		</mx:GridItem>
		<mx:GridItem> <mx:Label text="XMOTIVO_NFE" />	</mx:GridItem>
		<mx:GridItem> <mx:Label text="PROTOCOLO_NFE" />	</mx:GridItem>
		<mx:GridItem> <mx:Label text="DIGVAL_NFE" />	</mx:GridItem>
		<mx:GridItem> <mx:Label text="CHNFE" />			</mx:GridItem>
		<mx:GridItem> <mx:Label text="VERAPLIC" />		</mx:GridItem>
	</mx:GridRow>
	<mx:GridRow width="100%" height="100%">
		<mx:GridItem> <mx:TextInput id="cstat" text="{datagrid_notas1.selectedItem.codigo}" />		</mx:GridItem>
		<mx:GridItem> <mx:TextInput id="xmotivo" />		</mx:GridItem>
		<mx:GridItem> <mx:TextInput id="protocolo" />	</mx:GridItem>
		<mx:GridItem> <mx:TextInput id="digval" />		</mx:GridItem>
		<mx:GridItem> <mx:TextInput id="chnfe" />		</mx:GridItem>
		<mx:GridItem> <mx:TextInput id="veraplic" />	</mx:GridItem>
	</mx:GridRow>
</mx:Grid>
<mx:Button x="500" y="736" label="ATUALIZAR"/>

</mx:Application>

 

Arquivo.AS funcoes

 

// ActionScript file

import mx.controls.Alert;
import mx.events.CloseEvent;
import mx.rpc.events.ResultEvent;


[bindable]
	public var array_notas:Array;

	public function resultado_Notas(event:ResultEvent):void
	{
		array_notas= event.result.dados;
	}

	public function pesquisar_clientes():void
	{
		ro_nota.pesquisaNotas.send();
	}

	public function pesquisar_pallet():void
	{
		ro_nota.pesquisarPallet.send();
	}


	public function confirma_atualizacao(event:CloseEvent):void	
	{
		if(event.detail == Alert.YES)
			ro_nota.updateCliente.send();
		else
			Alert.show('O Cliente Não Foi Atualizado','Atualização de Cliente');
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

1- Testou o método do php, para ver se está retornando certinho? Pode fazer isso pelo console do amfphp mesmo.

 


2- [bindable]
   public var array_notas:Array;

public function resultado_Notas(event:ResultEvent):void
               {
                       array_notas= event.result.dados;
               }

Troque por:

[bindable]
public var array_notas:ArrayCollection;

public function resultado_Notas(event:ResultEvent):void
               {
                       array_notas =  new ArrayCollection(event.result.dados as Array);
               }



 

 

Tem muita coisa ai, posta só o que for necessário, e poste o que está saindo? ta dando erro? Forneça mais detalhes.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então na minha aplicação tenho 2 datagrid, populo eles normal. com os dados do banco.

Tambem tenho algums TextInput, quero polular eles com os mesmo dados que preencho os datagrid.

 

Não sei como eu faço isso. quero que a mesma informação que aparece no datagrid aparece nos Text Input.

 

Com esse Array funcionar normal consigo traser os dados para o datagrid.

[bindable]
public var array_notas:Array;

public function resultado_Notas(event:ResultEvent):void
               {
                       array_notas= event.result.dados;
               }

 

Tambem ja testei via AMFPHP com o Brawser funcionar normal me traz todos os dados que eu pretendo ter no aplicação.

 

acho q deve ser algum parametro que não estou sabendo usar no TextInput como DataProvider.Campo..

 

obrigado desde de ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sugestão para a mudança de código que eu pedi pra você fazer, é porque é melhor a forma que você ta usando não é tão eficiente. Seguinte o modo como você ta usando não é o mais indicado, você ta usando tudo em um array no php e retornando esse array que no caso seria o dados. Voçê deve trabalhar com VO´s, de uma pesquisada.

 

Para sua dúvida, você tentou assim?

 

TextInput.text = e.result.dados[0].nomedoCampo.toString();

// ou

TextInput.text = String(e.result.dados[0].nomedoCampo);

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela dica do codigo, como ser usado.

 

Então ja tentei usar esse codico que voce me passo mais esta dando esse erro.

Multiple markers at this line:

-1119: Access of possibly undefined property text through a reference with static type Class.

-1120: Access of undefined property e.

 

Estou usando dentro dessa função. Tambem não sei se estou certo.

 

 

public function resultado_Notas(event:ResultEvent):void
	{
		array_notas= event.result.dados;
		TextInput.text = e.result.dados[0].codigo.toString();
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imprima ai dentro do ResultEvent, mesmo o que ta vindo, Tem que debugar.

 


Alert.show(e.result.dados[0].toString());

Alert.show(e.result.dados[0].codigo.toString());


 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, Muito Obrigado Matheus.

    "id do text input que ira receber os dados" xmotivo.text = event.result.dados[0].codigo.toString();

 

Fico guato pela paciencia, continue assim Garoto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.