Comunidad de diseño web y desarrollo en internet online

Problemas al insertar datos en en una grilla a través de DragDrop

Citar            
MensajeEscrito el 03 Ago 2012 10:49 pm
Hola, ojala me puedan ayudar,
Estoy resolviendo un problema que tengo al usar drag&drop,..
Resulta que cuando arrastro los elementos y los dejo caer en la venta se activa un evento que hace que el scroll siga la posición del mouse…
Generalmente esto me sucede cuando dejo caer los elementos al medio de elementos existentes en la datagrid.. cuando trato de escribir sobre algún elemento y muevo el mouse se mueve el scroll y cambia el elemento que estaba modificando.
Mi dataGrid es la siguiente…

Código :

<mx:DataGrid id="grillaDetalle" 
   doubleClickEnabled="true"
   doubleClick="XXXXXXX()" 
   width="100%" height="100%" 
   dataProvider="{ dataDET }" 
   editable="true" 
   paddingLeft="0"
   click="onClickXXXXXXXXXXX(event)"
   dropEnabled="true" 
   dragEnabled="true" 
   dragEnter="dragEnterXXXX(event)"
   lockedColumnCount="1"
   horizontalScrollPolicy="on"
            dragDrop="handleEventDragDropXXXX(event)"
   >
               <mx:columns>
// no las agrego son muchas
               </mx:columns>         
</mx:DataGrid>

Código ActionScript :

private function handleEventDragDropXXXX(event:DragEvent):void{
var dropTarget:DataGrid=DataGrid(event.currentTarget);
event.stopImmediatePropagation();
DragManager.acceptDragDrop(dropTarget);
var dropLoc:int=dropTarget.calculateDropIndex(event);
var paso:Boolean;
var _detalle : DetalleCPP;
var _linea : DetalleCPP;
var items:Array=event.dragSource.dataForFormat("items")as Array;
for(var i:int=0; i < items.length; i++){
if (items[i] is PRG){
paso = false;
for each( _linea  in dataDET ){
if( _linea.PRG.id ==(items[i] as PRG).id ){
paso = true;
break;
}
}
if( paso )
continue;

_linea = new DetalleCPP();
_idtem = _idTem -1;
_linea.id = _idTem;

_linea.PRG    = PRG(items[i]);
dataDET.addItemAt(_linea, dropLoc);
}
}
dataDET.refresh();
}

private function dragEnterXXXX (event:DragEvent):void{
var dropTarget:DataGrid=DataGrid(event.currentTarget);
DragManager.acceptDragDrop(dropTarget);
event.stopImmediatePropagation();
}



ojala me puedan ayudar...salu2s

Por brjanoconer

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Ago 2012 10:51 pm
Estoy programando en Flex 3

Por brjanoconer

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.