To desenvolvendo um sistema e em uma das telas tem 2 datagrids, já
está funcionando tudo do jeitinho que eu quero, porém se eu mudo a
propriedade draggableColumns para false como eu preciso, ele parece
ter um bug que permite que se eu clicar no titulo das colunas (Campos
selecionados e Tipo) e arrastar para dentro do datagrid abre aquela
jenelinha de erro do player dizendo:

Error: Cannot remove when current is beforeFirst or afterLast.
        at ::ListCollectionViewCursor/remove()
        at mx.controls.listClasses::ListBase/
mx.controls.listClasses:ListBase::dragCompleteHandler()
        at flash.events::EventDispatcher/
flash.events:EventDispatcher::dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()[C:\Documents and
Settings\acrorel\Local Settings\Temp\aslibc-26332\EventDispatcher.as:
184]
        at mx.core::UIComponent/dispatchEvent()
        at mx.managers.dragClasses::DragProxy/mouseUpHandler()

Ele também fica doidinho e permite eu arrastar o titulo das colunas de
um datagrid para outro.

Alguam já teve problemas com isso ???

Será um bug ou eu q to fazendo besteira ?


Código (tente arrastar o titulo do datagrid pra dentro dele ou do
outro):

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="vertical">

        <mx:Script>
                <![CDATA[
                        import mx.collections.ArrayCollection;
                        [Bindable] private var campos:ArrayCollection =
                        new ArrayCollection([{campo: "nome", tipo: "varchar 
32"},
                        {campo: "email", tipo: "varchar 32"}, {campo: 
"telefone", tipo:
"varchar 22"}]);

                        [Bindable] private var camposSel:ArrayCollection;

                        // funcao p/ devolver o item para o primeiro datagrid 
quando
clicado na imagem
                        public function devolveItem():void
                        {
                                campos.addItem({campo: 
camposS_dg.selectedItem.campo, tipo:
camposS_dg.selectedItem.tipo});
        
camposS_dg.dataProvider.removeItemAt(camposS_dg.selectedIndex);
                        }
                ]]>
        </mx:Script>


        <mx:DataGrid id="camposD_dg" dataProvider="{campos}"
                draggableColumns="false" sortableColumns="false"
                dragMoveEnabled="true" allowMultipleSelection="true"
                dragEnabled="true" dropEnabled="true"
                width="240" height="140">
                <mx:columns>
                        <mx:DataGridColumn headerText="Campos disponíveis"
dataField="campo"/>
                        <mx:DataGridColumn headerText="Tipo" dataField="tipo" 
width="80"
textAlign="right"/>
                </mx:columns>
        </mx:DataGrid>
        <mx:DataGrid id="camposS_dg" dataProvider="{camposSel}"
                draggableColumns="false" sortableColumns="false"
                dragMoveEnabled="true" allowMultipleSelection="true"
                dragEnabled="true" dropEnabled="true"
                width="256" height="140" >
                <mx:columns>
                        <mx:DataGridColumn headerText="Campos selecionados"
dataField="campo"/>
                        <mx:DataGridColumn headerText="Tipo" dataField="tipo" 
width="80"
textAlign="right"/>
                        <mx:DataGridColumn headerText="" width="16">
                                <mx:itemRenderer>
                                                <mx:Component>
                                                        <mx:Image 
click="parentDocument.devolveItem()"
source="@Embed('assets/delete.png')" />
                                                </mx:Component>
                                                </mx:itemRenderer>
                                </mx:DataGridColumn>
                        </mx:columns>
        </mx:DataGrid>

</mx:Application>


--~--~---------~--~----~------------~-------~--~----~
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