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