ene 10

Arrastrar y soltar

Posted in ejercicios, tutores

Justo antes de navidad, nuestro amigo Miguel, nos preguntaba sobre el “Drag and Drop” , asi que aqui dejo un ejemplo sencillo de como hacerlo:

Este ejemplo esta basado en el ejemplo de facturación incluido en vGestión, pero he querido simplificarlo un poco para que resulte mas sencillo de entender.

En primer lugar, he creado un formulario, y en el podemos apreciar como aparecen 2 controles objeto, con 2 rejillas. En la parte superior, una rejilla para mostrar los albaranes que estan pendientes de facturar y en la parte inferior, una rejilla para mostrar las facturas generadas.

El control objeto de la parte superior, ejecuta un proceso para cargar la lista de albaranes pendientes de facturar, y no voy a mostrar el proceso, ya deberiais saber como es. Solo os dire que si origen debe ser el mismo que el formulario donde lo hemos incrustado y el destino debe ser la lista de albaranes a mostrar.

Para el control objeto de la parte inferior, necesitamos otro proceso, con el mismo origen que el formulario, y destino en la lista de facturas. Si queremos mostrar una rejilla vacia, este proceso no debe contener nada, un simple proceso vacio.

Ahora tenemos que crear las rejillas, y aqui solo voy a indicar, que la rejilla de albaranes (Drag) tenemos que cambiar la propiedad “ESTILO” y marcar una de las 2 opciones que vemos en el grafico:

  • Arrastrable para copiar, si marcamos esta opción, al arrastrar los registros a la otra rejilla, estos no serán borrados de la rejilla de albaranes.
  • Arrastrable para mover, si marcamos esta opción, al arrastrar los registros a otra rejilla, desaparecerán de la rejilla de albaranes, pero no son borrados de la base de datos. Para este ejemplo, vamos a utilizar esta opción.

Ahora queda definir la rejilla de facturas (Drop), donde soltaremos los registros despues de arrastrar.

En esta rejilla de facturas, tenemos que crear un subobjeto DROP y asociarle el proceso a ejecutar cuando alguien “deje caer” los registros arrastrados desde otra rejilla.

Vemos como asociar el proceso al subobjeto DROP

Y por supuesto, necesitamos el proceso que vamos a ejecutar al realizar el “DROP”, y en este caso, es el proceso que realiza la facturación de los albaranes, con origen el la tabla de albaranes (DRAG) y destino en la tabla de facturas (DROP).

El proceso debeis realizarlo vosotros, aunque podeis ver como se llama a otro proceso para poder ejecutar la operación en3 plano.

Si quereis mas información, teneis un “Tutor” entre las Open Apps llamado “Tutor de drag and drop” donde se muestra un ejemplo similar.

PDF    Enviar artculo en formato PDF   
comments: Closed

2 Responses to “Arrastrar y soltar”

  1. agustin dice:

    Gracias por el esfuerzo y por compartirlo, Jose Luis



Pings responses to this post