Fiz um outro exemplo utilizando a inserção em um ArrayCollection com PopUpManager:
O DataGrid está ligado neste ArrayCollection, desta forma as informações são atualizada quando inserimos mais dados no ArrayCollection.
Principal.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
verticalAlign="middle">
<mx:TitleWindow styleName="opaquePanel" width="567" title="Cadastro de Pessoas">
<mx:Button label="Adicionar" click="adicionar()"/>
<mx:DataGrid id="dtgPessoas" width="100%" dataProvider="{dtpListaPessoa}">
<mx:columns>
<mx:DataGridColumn headerText="Código" dataField="codigo" width="100" textAlign="center"/>
<mx:DataGridColumn headerText="Nome" dataField="nome"/>
<mx:DataGridColumn headerText="Idade" dataField="idade" width="100" textAlign="center"/>
</mx:columns>
</mx:DataGrid>
<mx:Box horizontalAlign="right" width="100%">
<mx:Button label="Excluir" enabled="{dtgPessoas.selectedIndex!=-1}" click="{dtpListaPessoa.removeItemAt(dtgPessoas.selectedIndex)}"/>
</mx:Box>
</mx:TitleWindow>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
import mx.collections.ArrayCollection;
[Bindable] private var dtpListaPessoa : ArrayCollection = new ArrayCollection();
[Bindable] private var janela : Pessoa;
private function adicionar():void
{
janela = new Pessoa();
janela.addEventListener("closePessoa",closePessoa);
PopUpManager.addPopUp(janela,this,true);
PopUpManager.centerPopUp(janela);
}
private function closePessoa(e : Event):void
{
dtpListaPessoa.addItem(
{
codigo : janela.txiCodigo.text,
nome : janela.txiNome.text,
idade : janela.nmsIdade.value
});
PopUpManager.removePopUp(janela);
}
]]>
</mx:Script>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
verticalAlign="middle">
<mx:TitleWindow styleName="opaquePanel" width="567" title="Cadastro de Pessoas">
<mx:Button label="Adicionar" click="adicionar()"/>
<mx:DataGrid id="dtgPessoas" width="100%" dataProvider="{dtpListaPessoa}">
<mx:columns>
<mx:DataGridColumn headerText="Código" dataField="codigo" width="100" textAlign="center"/>
<mx:DataGridColumn headerText="Nome" dataField="nome"/>
<mx:DataGridColumn headerText="Idade" dataField="idade" width="100" textAlign="center"/>
</mx:columns>
</mx:DataGrid>
<mx:Box horizontalAlign="right" width="100%">
<mx:Button label="Excluir" enabled="{dtgPessoas.selectedIndex!=-1}" click="{dtpListaPessoa.removeItemAt(dtgPessoas.selectedIndex)}"/>
</mx:Box>
</mx:TitleWindow>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
import mx.collections.ArrayCollection;
[Bindable] private var dtpListaPessoa : ArrayCollection = new ArrayCollection();
[Bindable] private var janela : Pessoa;
private function adicionar():void
{
janela = new Pessoa();
janela.addEventListener("closePessoa",closePessoa);
PopUpManager.addPopUp(janela,this,true);
PopUpManager.centerPopUp(janela);
}
private function closePessoa(e : Event):void
{
dtpListaPessoa.addItem(
{
codigo : janela.txiCodigo.text,
nome : janela.txiNome.text,
idade : janela.nmsIdade.value
});
PopUpManager.removePopUp(janela);
}
]]>
</mx:Script>
</mx:Application>
Pessoa.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="500" title="Cadastro de Pessoa" styleName="opaquePanel"
showCloseButton="true" close="PopUpManager.removePopUp(this);">
<mx:Metadata>
[Event("closePessoa")]
</mx:Metadata>
<mx:Form width="100%">
<mx:FormItem label="Código" width="100%">
<mx:TextInput width="68" id="txiCodigo"/>
</mx:FormItem>
<mx:FormItem label="Nome" width="100%">
<mx:TextInput width="350" id="txiNome"/>
</mx:FormItem>
<mx:FormItem label="Idade" width="100%" direction="horizontal">
<mx:NumericStepper maximum="200" minimum="0" id="nmsIdade"/>
</mx:FormItem>
</mx:Form>
<mx:ControlBar horizontalAlign="right">
<mx:Button label="Adicionar" click="dispatchEvent(new Event('closePessoa'))"/>
</mx:ControlBar>
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
]]>
</mx:Script>
</mx:TitleWindow>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="500" title="Cadastro de Pessoa" styleName="opaquePanel"
showCloseButton="true" close="PopUpManager.removePopUp(this);">
<mx:Metadata>
[Event("closePessoa")]
</mx:Metadata>
<mx:Form width="100%">
<mx:FormItem label="Código" width="100%">
<mx:TextInput width="68" id="txiCodigo"/>
</mx:FormItem>
<mx:FormItem label="Nome" width="100%">
<mx:TextInput width="350" id="txiNome"/>
</mx:FormItem>
<mx:FormItem label="Idade" width="100%" direction="horizontal">
<mx:NumericStepper maximum="200" minimum="0" id="nmsIdade"/>
</mx:FormItem>
</mx:Form>
<mx:ControlBar horizontalAlign="right">
<mx:Button label="Adicionar" click="dispatchEvent(new Event('closePessoa'))"/>
</mx:ControlBar>
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
]]>
</mx:Script>
</mx:TitleWindow>
0 comentários:
Postar um comentário