Variable Global que no refresca...


([N2] ramiro) #1

Buenos dias:

 

No encuentro la forma de solucionar algo que debería ser trivial...  En la pantalla de la imagen tengo (en la parte izquierda) un Control Objeto con una rejilla. En la conexión de evento "Simple-Click" de esa rejilla lanzo un evento que guarda en variables globales en memoriza el Código y el Nombre del registro elegido.

 

La variable global con el Nombre memorizado se presenta en la parte derecha en el edit "Dato elegido". Todo funciona bien pero no consigo que se produzca el refresco del valor de la variable al cambiar de registro en la rejilla...

 

¿Cómo c.... se logra eso?

 

Saludos. Ramiro

[attachment=6537,659]


([N4] eic) #2

Hola.

Creo que si usas la conexión de evento: Item seleccionado te funcionará.

EDITO:

Vale, el problema es que no puedes refrescar ese dato. Que yo sepa, no hay manera de refrescar campos que no sean controles objeto.

Si pones un control objeto con, por ejemplo, un formulario de la tabla que muestras en la rejilla, sí que puedes refrescarlo.

Saludos,

Fran Varona

 


([N1] JorgeVelasco) #3

Buenos días Ramiro y Fran

Teniendo sólo el evento en la rejilla para que modifique la variable no hay manera de que te refresque la variable global en el formulario, o yo no he visto como hacerlo.

Ahora bien, he probado a ponerle otro evento, aunque no haga nada, en el formulario y que se ejecute al hacer click en la rejilla, y así me refresca el valor de la variabel global.

Sólo me encuentro con una cosa muy rara, a ver si os pasa a vosotros. Si el código va subiendo, selecciono el 4, el 5, el 6 lo hace bien. Pero si selecciono un registro mas pequeño, por ejemplo después del 5 selecciono el 3. No me coge el 3 hasta la segunda vez que le doy.

Un saludo.


([N2] ramiro) #4

Buenas:

 

El evento "Item seleccionado" no lo resuelve (ya lo había probado). La solución de Jovefer no la he probado aunque asumo que funcionará. No obstante, no parece razonable que algo que TENDRÍA QUE SER TRIVIAL requiera ingeniería de programación.

 

Problemas de refresco similares al comentado se encuentran casi a cada paso: los Objetos contenidos en un objeto "x" no conocen al resto de subobjetos del Objeto "X" en el que ellos mismos están contenidos y por tanto no se puede forzar el refresco de esos subobjetos usando funciones de interfaz. Salvo que vayamos encontrando soluciones "imaginativas" (del tipo de las que usábamos en V6 para problemas similares) en temas de refrescos estamos a los pies de los caballos...

 

Sugerencia a Velneo: ¿No debería existir una instrucción que fuerce el refresco del Formulario activo o algo similar?

 

Saludos. Ramiro