Ir para conteúdo

POWERED BY:

Arquivado

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

MaktubBruno

[Resolvido]Receber informação do createPopUp

Recommended Posts

Galera, Boa Noite!!!

 

Deixa eu ver se consigo me expressar!!!

 

Estou desenvolvendo um sistema e preciso em uma tela que tem um grid e 3 botões (Incluir, Alterar, Excluir), abrir uma outra janela com o formulário.

 

Diante disso, preencher os dados e quando clicar em um botão (confirmar), retornar os dados que eu possa fazer a inserção.

 

Não quero fazer o acesso ao back-end da janela do Formulário.

Queria é que se caso clicasse no "Ok' do Formulário, retornasse para o mesmo método que o chamou ou outro se for o caso para Incluir ou Alterar.

 

Acreditam isso ser possível???

 

Desde já muito obrigado

 

Poxa... ninguém!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, Boa Noite!!!

 

Deixa eu ver se consigo me expressar!!!

 

Estou desenvolvendo um sistema e preciso em uma tela que tem um grid e 3 botões (Incluir, Alterar, Excluir), abrir uma outra janela com o formulário.

 

Diante disso, preencher os dados e quando clicar em um botão (confirmar), retornar os dados que eu possa fazer a inserção.

 

Não quero fazer o acesso ao back-end da janela do Formulário.

Queria é que se caso clicasse no "Ok' do Formulário, retornasse para o mesmo método que o chamou ou outro se for o caso para Incluir ou Alterar.

 

Acreditam isso ser possível???

 

Desde já muito obrigado

 

Poxa... ninguém!!!

 

Amigo, você tem que ter paciência, aqui ninguém é help desk, é possível sim fazer o que você deseja, poste o que já tentou.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Matheus, desculpe, não foi essa a minha intenção!!!

 

Bom, tenho um CRUD simples, nele tenho um menu, este chama os meu cadastro.

Neste cadastro tenho, um DataGrid com os registros da minha tabela, e três botões (Incluir, Alterar, Excluir), tudo está funcionando, mais não da forma que eu quero.

 

O que eu queria é que, ao clicar em Alterar por exemplo (desejo fazer isso com o Incluir também), chamasse meu Formulário, neste Formulário eu teria dois botões, Confirmar e Cancelar.

 

Ao clicar em Confirmar, retornasse o evento para o método que disparou, ou seja, no cadastro, não queria fazer o acesso ao back-end da janela do Formulário (está funcionando desta forma atualmente).

 

Desde já muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, vamos lá, a solução é meio custosa para a aplicação, mas é possível.

 

Exemplo:

 

1 - Quando clicar em incluir ou novo sei lá, você abre o popup, preenche os dados que deseja dai quando você clicar em confirmar, você deve pegar os dados do popup e mandar ele de volta pro componente que o chamou ou salvar esses dados num collection e fechar o popup, dai você faz o acesso ao back-end e salva no banco.

 

Basicamente é isso, mostre a implementação de como está tentando.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um exemplo que faz o que eu quero, de toda forma valeu!!!

 

Segue exemplo caso alguém tenha a mesma dúvida.

 

main.mxml

<?xml version="1.0"?>
<!-- containers\spark\SparkMainArrayEntryFormEvents.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
		   xmlns:mx="library://ns.adobe.com/flex/mx"
		   xmlns:s="library://ns.adobe.com/flex/spark">
<s:layout>
	<s:VerticalLayout/>
</s:layout>

<fx:Script>
	<![CDATA[
		import mx.collections.ArrayList;
		import mx.managers.PopUpManager;
		import myComponents.ArrayEntryFormEvents;

		public var pop1:ArrayEntryFormEvents;

		public function displayForm():void
		{
			// ArrayList with data for the custom control ComboBox control.
			var doctypes:ArrayList=new ArrayList(["*.as", "*.mxml", "*.swc"]);

			// Create the pop-up and cast the return value 
			// of the createPopUp()
			// method to the ArrayEntryFormEvents custom component.
			pop1=ArrayEntryFormEvents(PopUpManager.createPopUp(this, ArrayEntryFormEvents, true));
			// Set TitleWindow properties.
			pop1.title="Select File Type";

			// Set the event listeners for 
			// the ArrayEntryFormEvents component.
			pop1.addEventListener("close", removeMe);
			pop1["cancelButton"].addEventListener("click", removeMe);
			pop1["okButton"].addEventListener("click", submitData);

			// Set properties of the ArrayEntryFormEvents custom control.
			pop1.myArray=doctypes;
			PopUpManager.centerPopUp(pop1);
		}

		// OK button click event listener.
		// Sets the target component in the application to the 
		// selected ComboBox item value.
		private function submitData(event:Event):void
		{
			ti1.text=String(pop1.cb1.selectedItem);
			removeMe(event);
		}

		// Cancel button click event listener.
		private function removeMe(event:Event):void
		{
			PopUpManager.removePopUp(pop1);
		}
	]]>
</fx:Script>

<s:VGroup>
	<s:TextInput id="ti1"
		     text=""/>
</s:VGroup>
<s:Button id="b1"
	  label="Select File Type"
	  click="displayForm();"/>
</s:Application>

 

ArrayEntryFormEvents

 

<?xml version="1.0"?>
<!-- containers\spark\myComponents\ArrayEntryFormEvents.mxml -->
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
		   xmlns:s="library://ns.adobe.com/flex/spark"
		   xmlns:mx="library://ns.adobe.com/flex/mx"
		   width="200"
		   borderAlpha="1">
<s:layout>
	<s:VerticalLayout/>
</s:layout>

<fx:Script>
	<![CDATA[
		import mx.collections.ArrayList;
		import mx.managers.PopUpManager;

		// Variables whose values are set by the main application.
		// Data provider array for the component's ComboBox control.
		[bindable]
		public var myArray:ArrayList;
	]]>
</fx:Script>

<s:ComboBox id="cb1"
			dataProvider="{myArray}"/>
<s:HGroup>
	<s:Button id="okButton"
		  label="OK"/>
	<s:Button id="cancelButton"
		  label="Cancel"/>
</s:HGroup>
</s:TitleWindow>

 

O link onde encontrei o exemplo é: http://help.adobe.com/en_US/flex/using/WS6c678f7b363d5da52e8f1ca1124a0430dcf-8000.html

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.