Des-seleccionar filas

Hola, estoy luchando contra las deficientes rejillas de velneo.
En un formulario tengo una rejilla "Arbol visor ". Desde el un “manejador de eventos” del formulario lanzo el alta de registros de ésta rejilla. Pero, incluyo la posibilidad de que, antes del alta, se pueda seleccionar un registro de la rejilla para coger un valor “x” del registro y usarlo en la nueva alta. Funciona perfectamente, pero, al terminar el alta y volver a la rejilla queda seleccionado el valor nuevo, u otro aparentemente aleatorio. Y no encuentro la forma de quitar la selección en el manejador. He probado con “Limpiar la multi-selección” , “Interfaz: Quitar foco” (lo quita pero sigue el valor seleccionado) y poniendo a cero los valores de las variables locales que transportan el valor desde la linea seleccionada al nuevo alta.
He probado cambiando el “Arbol visor” por una rejilla normal y el resultado es el mismo.
Creo que otra de las limitaciones de las rejillas, como: no poder cambiar el alto según el contenido, no poder agregar columnas en Arbol visor, pésimo drag&drop…
Alguien tiene una idea de como solucionar esto?
Un saludo!
Gustavo

Hola gustavo_sandoval_aispuru.

Nos tienes que decir cómo ejecutas el formulario del Alta y cómo refrescas el contenido de la Rejilla una vez has terminado el Alta.

  • ¿ El formulario de Alta es Modal o usas el procedimiento nativo de Velneo de ejecutar el formulario asociado a la Rejilla?
  • ¿ Qué comando ejecutas para refrescar la Rejilla y aparezca el nuevo registro dado de Alta, o aparece automáticamente ?
  • ¿ Queda un registro seleccionado de manera aleatoria después del Alta ???

Estoy de acuerdo, y lo hemos dicho muchas veces, que la Rejilla es un control que debería rehacerse desde cero.

Saludos
Paco Satué

Hola Paco!

Me explico mejor:

Estoy trabajando en un fork de vERP. Para automatizar el ingreso de códigos de las tablas arboladas he puesto en cada una un campo puntero a si misma. Con dos campos más: Rama y Nivel compongo el código. Fácil y funciona perfectamente.

Lo que hago también es, en el formulario de búsquedas (vERP) de estas tablas, seleccionar el registro que quiero que sea padre del nuevo, para coger su código y componer el nuevo en el formulario de alta. Esta alta la lanzo desde un “Manejador de evento”.

Adjunto pantalla del alta y Manejadores de alta y de composición del ID.

Repito que el problema es que no se como quitar la selección, por ejemplo, se después de esta alta quiero dar una nueva alta sin registro superior (solo se soluciona cerrando y volviendo a abrir el formulario de búsquedas)

Un saludo!

Gustavo


Alta en tablas arboladas.pdf (20,6 KB)
Componiendo el ID.pdf (20,3 KB)

Hola Gustavo.

Creo que al final es un problema del control Vista de árbol.
Cuando se selecciona un registro de una Lista, ya sea por comando o porque se ha hecho click con el ratón, no hay forma humana de volver a dejar la Lista sin ninguno seleccionado.

Además, con solo recibir el Foco ya se selecciona un registro.

En resumen, aunque al inicio del formulario no haya registro seleccionado, con que se haga Foco en el Visor de árbol o se interactúe por comandos, ya se produce la selección.

Los comandos Limpiar la multiseleccion o Recalcular no sirven de nada.

Son esos automatismos de Velneo que pasan desapercibidos en las primeras aplicaciones sencillas pero que nos vuelven locos en cuanto empezamos a hace cosas en serio.

Tendrás que rediseñar ese proceso de Alta, de tal manera que no dependa del registro seleccionado para determinar el Padre y que el Usuario lo elija de otra forma.

Saludos
Paco Satué

Vale Paco, me lo confirmas, otra limitación de las rejillas.
Si, como tu dices, lo que haré sera simplemente desistir de seleccionar el registro padre y seleccionarlo en el formulario de alta.
Velneo últimamente se preocupa muchísimo en las nuevas funcionalidades, y me parece perfecto, pero se olvida de cosas tan simples pero tan importantes como esta. Bueno, esperemos que en el futuro lo revisen.
Mil gracias Paco! Tu siempre con la respuesta certera! Un Saludo!
Gustavo

1 me gusta