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

Responder a