El planteamiento de JDAlamillos es el siguiente:
Necesita sincronizar 2 rejillas en un formulario sin origen.
Para mas detalles mirar en este hilo del foro:
http://velneo.es/foros/topic/multivista-rejillas-multiseleccion
En realidad, para realizar el ejemplo, daria exactamente igual que el formulario fuera con origen en cualquier tabla o “sin origen”.
Vamos al lio, que se hace tarde, como abordamos este ejemplo,
- Creamos nuestro formulario “sin origen” (no voy a profundizar en esto, si no sabeis crear el formulario, empezamos mal, quiza deberiais ver otros tutores mas basicos)
- Creamos las rejillas correspondientes a cada una de las tablas que vamos a sincronizar (esto tambien debeis saber hacerlo ya)
- Creamos los procesos y busquedas para cargar los registros y mostrarlos en las rejillas (aqui tampoco nos vamos a detener)
- Hasta ahora, son objetos muy basicos y conocidos por todos, no creo que tengais problemas, ¿verdad?, pues continuamos,
- Abrimos el formulario, y colocamos en el 2 controles objeto, cada uno de ellos tiene que ejecutar el proceso correspondiente en primer lugar para retornar la lista de registros de cada una de las tablas, y en segundo lugar, indicamos en cada control objeto la rejilla correspondiente a su tabla de datos. Si tienes alguna duda mira las imagenes que hay mas abajo (referenciadas con el nº de orden de esta seccion)
- Creamos un “Evento” en el formulario, y este evento es el encargado de sincronizar las rejillas, mediante las sentencias de interfaz, buscamos el registro seleccionado y cargamos los registros de la nueva rejilla, y finalizamos Recalculando el otro control objeto para que sea actualizado en el formulario.
- Creamos una conexion de evento para ejecutar el evento que acabamos de crear, y en las propiedades, elige como objeto, el ID del control objeto correspondiente a la rejilla-1 y como señal para disparar el evento, el mas apropiado, que para un registro es ITEM: simple click.
- Si seleccionas un registro en la rejilla-1, la rejilla-2 se debe actualizar correctamente.
- No he probado a hacerlo directamente, seleccionando varios registros en la rejilla-1, pero en todo caso, bastaria con incluir un boton para refrescar la rejilla-2. De todas formas lo probare.
Ve probandolo y me comentas aqui en el blog como te ha ido, yo lo revisare y te pondre imagenes que ya no me da tiempo a mas, (mañana editare este articulo).
Si hay algun pequeño error en el proceso, pido disculpas, pero te lo estoy indicando de memoria y podria haber olvidado algun detalle. Ademas, la neurona se va de marcha a estas horas.
Edito:
Este es el codigo del evento que debeis ejecutar al seleccionar algun elemento de la rejilla-1:
y este es el formulario con los controles objeto (al la izquierda), y el evento a ejecutar desde el boton (a la derecha).
espero que te valga para tus propositos.