Aplicación De Drag And Drop/asociación De Autores/libros

Buenas tardes. Antes de comentarles las dudas que tengo, quiero decirles lo que estoy haciendo.

Estoy realizando una aplicación que consiste en una pantalla dividida en 3 partes (Dentro de un formulario hecho con GxActiveForm):

En la imagen 001 está la descripción:

  • Un listbox con autores de libros (superior izquierda, implementado en una vista aparte)

  • Un widget tipo droppable con los libros asociados a ese autor (superior derecha, implementado en una vista aparte).

  • Un widget tipo droppable con los libros que aún no han sido asociados a determinado autor (inferior, implementado en una vista aparte).

Para la aplicación estoy manejando 3 tablas: una de autores, una de libros, y una intermedia en donde guardo las relaciones de autores y libros, considerando que un libro puede ser escrito por n autores, y que un autor puede haber escrito m libros.

La idea del programa es esta, y aquí es en donde me surgen las dudas por que no se como hacerlo.

  1. Cuando selecciono un autor, este de inmediato debería refrescar los 2 widgets droppable, en donde me muestre los libros que escribió, y los que no escribió ese autor, respectivamente.

  2. Cuando muevo un libro de la sección de ‘libros sin referencia’ (los que no ha escrito ese autor), a la sección de ‘libros del autor’, inmediatamente se debe aplicar una sentencia insert en la tabla intermedia tomando el id del autor seleccionado y el id del libro ‘arrastrado’.

  3. Cuando muevo un libro de la sección de ‘libros del autor’, a la sección de ‘libros sin referencia’, inmediatamente se debe aplicar una sentencia delete en la tabla intermedia tomando el id del autor seleccionado y el id del libro ‘arrastrado’.

Necesito orientación a la brevedad posible.

Gracias por su atención.

Buenas.

No sé si lo has solucionado ya, pero lo tendrías que hacerlo con llamadas AJAX.

Por ejemplo, cuando selecciones un autor, en el evento change (Javascript) del control, deberías hacer un update de tus listas. Para actualizarlas, harías una llamada AJAX a una acción de tu controlador pasándo-le el identificador del autor, que recogiese los libros de ese autor y los devolviese para poder actualizar tu lista.

Un saludo.