Comunidad de diseño web y desarrollo en internet online

Ayuda Drag and Drop!

Citar            
MensajeEscrito el 19 Ene 2010 01:08 pm
Hola quería hacerles unas consultas con drag and drop, yo tengo dos listas, a las cuales se pasan información una a la otra mediante drag and drop, pero mi idea es eliminar el elemento arrastrado, una vez que se agrega a la otra lista. Cuáles serían los dos eventos precisos para realizarlo? Yo si bien lo resolví mediante el evendo DragComplete, lo que sucede es que si completo el drag en cualquier lado, simplemente me elimina el elemento, y quedo dependiendo de que el usuario realice bien el drop. Estoy usando el evento incorrecto? O cómo reconozco el lugar dónde fue dropeado el elemento? O cómo restringir el dropeo a un lugar determinado? (Utilizo un panel, pero no ví una propiedad con tal fin, o no la reconocí )

Código Flex :

      <mx:HBox width="602">      
         <mx:Label text="Destino"/>
         <mx:Spacer width="93" height="100%"/>
            <mx:List height="122" width="180" id="ListDestinosTodos" dataProvider="{this.arrayListTodasDependencias}" dragComplete="{this.eliminarDeListaTodos()}" dragEnabled="true" dropEnabled="true"  allowMultipleSelection="true"></mx:List>
            <mx:Spacer width="45" height="100%"/>
            <mx:List height="122" width="180" id="ListDestinosSeleccionados" dataProvider="{this.arrayListSeleccionadasDependencias}" dragComplete="{this.eliminarDeListaSeleccionados()}" dragEnabled="true" dropEnabled="true" allowMultipleSelection="true" ></mx:List>
      </mx:HBox>


Código ActionScript :

public function eliminarDeListaTodos():void{            
      var x: int = this.ListDestinosTodos.selectedItems.length;      
      for( var i: int = 0; i < x ; i++){                              
         this.arrayListTodasDependencias.removeItemAt(this.arrayListTodasDependencias.getItemIndex(this.ListDestinosTodos.selectedItems.pop()));
      }   
   }
   
   public function eliminarDeListaSeleccionados():void{         
      var x: int = this.ListDestinosSeleccionados.selectedItems.length;            
      for( var i: int = 0; i < x ; i++){                              
      this.arrayListSeleccionadasDependencias.removeItemAt(this.arrayListSeleccionadasDependencias.getItemIndex(this.ListDestinosSeleccionados.selectedItems.pop()));
      }   


Saludos, y Muchas Gracias!

Por Arteniz

41 de clabLevel



Genero:Masculino  

Programador

firefox
Citar            
MensajeEscrito el 20 Ene 2010 06:01 am

Por min

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Ene 2010 12:55 pm
Gracias! Lo miraré, pero ya pude resolver mi duda, me había olvidado de la propiedad DragMoveEnabled, y la misma propiedad era la que me da el comportamiento que necesitaba!

Por Arteniz

41 de clabLevel



Genero:Masculino  

Programador

firefox

 

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