Control de eventos con botones de radio


([N4] eic) #1

Hola.

Tengo tres botones de radio en un formulario sin origen, y un control objeto que llama a una búsqueda y muestra una rejilla. Los botones de radio modifican una variable global, de la que depende la búsqueda.

Mi intención es que cuando se pulse un boton de radio, se actualice la búsqueda conforme al nuevo valor de la variable global. Para ello, creo una conexión de evento de cada uno de los botones de radio, que llaman a un evento que, simplemente, recalcula el control objeto.

El problema es que no sé qué señal usar. Si uso "botón pulsado" o "botón soltado", hace efecto "a la segunda vez que pulso". Es como si la variable global no cambiara de valor hasta la siguiente pulsación.

También podría hacerlo con tres controles objeto con condiciones de visibilidad, pero supongo que tiene que haber otra manera de hacerlo. ¿Alguna sugerencia?

Gracias,

Fran Varona

 


([N4] rcueto.velneo) #2

Hola:

El evento de interfaz se ejecuta antes de modificarse el valor de la variable. Lo que puedes hacer es tres eventos y que cada uno modifique la variable con el valor que corresponda y recalcule la rejilla.

Un saludo.


([N4] eic) #3

Hola.

Muchas gracias. Hice los tres eventos y funcionan bien... pero me ocurre lo siguiente:

Utilizo la señal "Botón pulsado", genero una conexión de evento, que llama a un evento que modifica la variable y recalcula el control. Hasta aquí, todo perfecto. Pero... el efecto visual es que el botón de radio NO queda seleccionado, a pesar de que funciona el evento. Lo probé también con "Botón soltado", y obtengo el mismo efecto. Y... no sé cuál usar. 

Gracias,

Fran Varona

 


([N4] rcueto.velneo) #4

Hola:

Estás asignado en valor a la variable mediante la pulsación del botón de radio y a su vez estás disparando un evento que vuelve a modificarla. Es el mismo efecto que sucede cuando pulsas dos veces un mismo botón de radio, que está notificado en la incidencia nº 1318 ). Para evitar ese efecto óptico, podrías editar en el formulario en los botones de radio una variable local al mismo y desde los eventos modificar la variable global.

Un saludo.

 


([N4] eic) #5

Hola, Rafael.

Muchas gracias, funcionó perfectamente. Tuve que cambiar la señal que utilizaba (con "Ratón: botón soltado" hacía el mismo efecto, pero con "Ratón: botón pulsado" funciona correctamente).

Saludos,

Fran Varona