Você está adicionando no array destino e não está removendo do array origem.
usa o seuArray.removeItemAt(index); =D Em 2 de junho de 2010 16:37, Sérgio Fantin <[email protected]>escreveu: > Olá pessoal, > > estou implementando um pickList em flex usando datagrids. O problema é o > seguinte... > > Quando eu clico em algum item do lado esquerdo e arrasto pra lista da > direita usando o drag'n'drop, este item sai da direita e vai pra esquerda. > > Mas quando eu clico no botão que chama uma função minha ele vai pra > direita, mas continua do lado esquerdo. Gostaria que ela fosse movido do > mesmo jeito que acontece quando uso drag'n'drop. > > Segue: > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" width="1120" height="664"> > > <mx:RemoteObject id="servico" destination="pessoaServico" > showBusyCursor="true" result="carregaResultado(event)"/> > > <mx:TitleWindow x="159" y="38" width="748" height="627" > layout="absolute" > close="PopUpManager.removePopUp(this);" > title="Adicionar contato" > showCloseButton="true" > creationComplete="init()"> > > <mx:Script> > <![CDATA[ > import mx.collections.ArrayCollection; > import mx.controls.List; > import mx.managers.PopUpManager; > import objetos.Pessoa; > import mx.rpc.events.ResultEvent; > import mx.controls.Alert; > import mx.rpc.events.FaultEvent; > > [Bindable] > private var message:String; > > [Bindable] > private var pessoas:ArrayCollection = new > ArrayCollection(); > > [Bindable] > private var pessoasDisponiveis:ArrayCollection = new > ArrayCollection(); > > [Bindable] > private var pessoasSelecionadas:ArrayCollection = new > ArrayCollection(); > > [Bindable] > private var pessoa:Pessoa = new Pessoa(); > > private function init():void{ > loadPessoas(); > } > > private function carregaResultado(ev:ResultEvent):void { > pessoas = ev.result as ArrayCollection; > pessoasDisponiveis = pessoas; > } > > public function loadPessoas():void { > servico.getPessoas(); > } > > public function adicionarPessoa():void{ > > pessoasDisponiveis.getItemAt(dg_pessoas_disponiveis.selectedIndex); > > pessoasSelecionadas.addItem(pessoasDisponiveis.getItemAt(dg_pessoas_disponiveis.selectedIndex)); > } > > public function removerPessoa():void{ > > pessoasSelecionadas.getItemAt(dg_pessoas_selecionadas.selectedIndex); > > pessoasDisponiveis.addItem(pessoasSelecionadas.getItemAt(dg_pessoas_selecionadas.selectedIndex)); > } > > ]]> > </mx:Script> > > <mx:DataGrid id="dg_pessoas_disponiveis" x="98" y="62" width="515" > height="93" dropEnabled="true" dragMoveEnabled="true" dragEnabled="true" > allowDragSelection="true" allowMultipleSelection="true" > dataProvider="{pessoasDisponiveis}"> > <mx:columns> > <mx:DataGridColumn headerText="Nome " dataField="nome"/> > <mx:DataGridColumn headerText="CPF " dataField="cpf"/> > <mx:DataGridColumn headerText="E-mail " dataField="email"/> > <mx:DataGridColumn headerText="Celular " > dataField="telefoneCelular"/> > </mx:columns> > </mx:DataGrid> > > <mx:Button x="279" y="197" label="v" click="adicionarPessoa()"/> > <mx:Button x="385" y="197" label="^" click="removerPessoa()"/> > > <mx:DataGrid id="dg_pessoas_selecionadas" dropEnabled="true" > dragEnabled="true" dragMoveEnabled="true" allowDragSelection="true" > allowMultipleSelection="true" x="98" y="249" width="515" height="90" > dataProvider="{pessoasSelecionadas}"> > <mx:columns> > <mx:DataGridColumn headerText="Nome " dataField="nome"/> > <mx:DataGridColumn headerText="CPF " dataField="cpf"/> > </mx:columns> > </mx:DataGrid> > > > > -- > Sérgio Fantin > http://serjaum.wordpress.com > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev -- ______________________ Atenciosamente, Rafael Comim -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
