Conexiones de eventos


([N2] bannu) #1

Esto cada vez se pone mejor, resulta que en un formulario que contiene dos rejillas una clientes, y otra de pedidos, en la rejilla de clientes tengo una conexión de evento Ítem: cambio de seleccionado, y en el formulario que alberga la rejilla tengo otra conexión de evento Ítem: cambio de seleccionado, para refrescar la rejilla de pedidos, pues resulta que al seleccionar el cliente se dispara la señal antes en el formulario que en la propia rejilla, consecuencias, la rejilla pedidos no refresca correctamente, es decir al seleccionar el cliente como se captura antes la señal en el formulario que la rejilla la variable que guarda el ID del cliente no se ha cargado todavía, ya que esta se carga en el evento de la rejilla, en versiones anteriores lo hacía correctamente, es que esto es un sin parar, Manolete si no sabes torear pa que te metes, tienen los eventos al revés…


([N4] eic) #2

Hola.

Si lo único que quieres es que al seleccionar un cliente se actualice la rejilla de pedidos, puedes hacer dos cosas:

- En vez de usar dos rejillas, puedes usar un multivista, que lo hace automáticamente... aunque quizá no tiene la apariencia externa que buscas.
- Puedes usar sólo la conexión de evento del formulario, no haría falta la de la rejilla. Desde el evento del formulario, haces lo siguiente:
* Interfaz: Procesar control REJILLA_CLIENTES
* Leer ficha seleccionada
* Modificar variable global con el ID del cliente seleccionado
* Interfaz: Recalcular control REJILLA_PEDIDOS

Aunque es posible que el evento de la rejilla lo tengas para otra cosa...

Saludos,

Fran Varona


([N2] bannu) #3

El problema no es la sincronización, que ya sé que se puede hacer de otra forma, el problema es el orden de captura de las señales, que en la versión anterior estaba implementada de una forma( la correcta) y en esta está mal, al menos desde mi punto de vista, cómo es posible que el objeto que dispara la señal sea el último en capturarla.