Drag & drop
Ver más
Drag & drop
Mediante la técnica de drag&drop (arrastrar y soltar) podremos interactuar con la base de datos, más concretamente con listas de registros de tablas.
Mediante este sub-objeto podremos hacer que al arrastrar registros desde una rejilla se ejecute un proceso al soltarlos sobre otra.
Para su implementación será necesario lo siguiente:
Dos objetos de lista como, por ejemplo, rejillas y/o casilleros.
Un sub-objeto de tipo drop en el objeto de destino.
El proceso a ejecutar al hacer el drop en el objeto de destino.
En este tutorial vamos a desarrollar dos ejemplos, correspondientes a dos casuísticas diferentes.
Para ello vamos a partir de un pequeño proyecto para una empresa de organización de eventos, que tiene la estructura de tablas siguiente:

Contiene dos tablas maestras (ENTIDADES y EVENTOS) y una histórica de ambas (INVITADOS), que nos servirá para guardar las entidades invitadas a cada evento.
En la que cada tabla tiene la siguiente estructura:



En esta tabla destacaremos los índices CONFIRMADO y SIN_CONFIRMAR:

El índice está compuesto por los enlaces a ENTIDADES y a EVENTOS y está condicionado a que el valor del campo CONFIRMADO sea 1.

El índice es igual al anterior, excepto en la condición de indexación, que en este caso es que el campo CONFIRMADO sea 0.
Mediente la técnica del drag & drop vamos a programar dos cosas:
1) Partiendo de dos rejillas de INVITADOS a un envento, en una se mostrarán las entidades pendienes que no han confirmado su asistencia (campo CONFIRMADO = 0 ), y en otra las que la han confirmado (campo CONFIRMADO=1), de modo que podamos confirmar o no la asistencia de una entidad al evento simplemente arrastrando y soltando entre ambas rejillas.
2) Partiendo de una rejilla de ENTIDADES y una de EVENTOS poder seleccionar una o más entidades, pinchar y arrastrar sobre un evento concreto, de modo que al hacer esto se generen los registros correspondientes en la tabla de INVITADOS.
Ejemplo 1: Confirmación de invitaciones
Ejemplo 2: Creación de los registros de invitados a un evento
