Doy de alta registros desde un formulario, que se reflejan en una rejilla. Pero como la rejilla lista los registros ordenados por fecha en orden inverso, (los más actuales al principio), al dar en aceptar, se añade el registro al final de la rejilla, no al principio o primero de la lista, como debería de ocurrir, al tener orden inverso en la rejilla.
En el boton Aceptar del formulario, tengo Interfaz:Aceptar mediante ejecutar evento.
Puedes explicarte un poco más, porque desde el evento del formulario, no me deja acceder a los comandos de interfaz de la rejilla, sólo de los controles del formulario.Porque queria hacer desde el botón Aceptar del formulario:
Interfaz:Aceptar
interfaz:Recalcular control (y no me deja elejir la rejilla)
Como bien apuntas desde el evento tienes que recalcular control.
Para poder elegirlo, la rejilla tiene que estar directamente contenida en el formulario mediante un control objeto. Si esta contenida en un tab o similar no podrás seleccionarla.
PD: Hay varios ejemplos en las OpenApps que muestran situaciones similares. tuiTV es uno de ellos.
En una toolbar de rejilla, aunque no haya formulario, puedes hacer lo siguiente:
- En el botón de la toolbar, en vez de tener una acción de "Formulario de alta", disparas una señal
- En la rejilla creas un evento llamado, por ejemplo, ALTA.
- También creas una conexión de evento, que ejecute el evento ALTA cuando se dispare la acción de la toolbar.
- En el evento ALTA, das de alta el registro mediante "Crear nueva ficha en memoria", "Pedir formulario" y "Alta de ficha". Después, utilizas "Añadir ficha a la lista", para que añada el nuevo registro a la rejilla, y después haces un "Ordenar lista", que te volverá a ordenar la rejilla según el orden que tú definas.
Con esto, se consigue lo que necesitas, si no me equivoco. Yo uso este método en ocasiones (por otras razones), y funciona bien.
Buena solución siempre que no tenga demasiados registros que ordenar. El ideal sería poder refrescar la rejilla desde la búsqueda o proceso que lanzó la rejilla.
- En la instrucción Crear ficha en memoria, debes rellenar el primer parámetro (nombre de la ficha) con un texto, el que quieras (por ejemplo, parte)
- En Alta de ficha, deberás poner también la palabra parte (o la que sea) como parámetro
- La instrucción Añadir ficha a la lista la debes indicar FUERA de la rama que abriste con Crear ficha en memoria, porque es una instrucción de tipo Lista, no de tipo Ficha. Y le deberás indicar como parámetro el nombre de la ficha (o sea, parte) que le diste.
Pues eso sí que es raro... Yo utilizo en muchas ocasiones una toolbar de rejilla con una acción, que dispara una señal, y esa señal la capturo en la rejilla con una conexión de evento, que hace que se ejecute un evento determinado de la rejilla. Alguna de las propiedades debe tener algún error. Si quieres, puedes subir las imágenes de la acción y la conexión de evento, por si veo algo raro.