Actualizar rejilla


([N1] wikiwiki) #1

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.

Alguna idea?

 

Gracias.

 

 

 

 

 


([N4] Jorge) #2

Refrescar la lista posteriormente al alta. Es poco óptimo, pero es la única solución.

 


([N1] wikiwiki) #3

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)

Un saludo.


([N4] Jorge) #4

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.

Atentamente,

Jorge Hontoria Jiménez

http://tipesoft.com

 

 


([N4] Jorge) #5

La instrucción interfaz:Recalcular control  tiene que estar cotenida en un evento del formulario que contiene un control objeto que muestra la rejilla.


([N1] wikiwiki) #6

Vaya, pues no puedo hacerlo así. La rejilla se muestra desde un botón de la toolbar. Y otro botón de la toolbar presenta el formulario que da el alta.

Alguna otra idea?

 

 


([N4] Jorge) #7

Siento que te topaste con algo importante y que actualmente no tiene solución (que personalmente conozcamos).

Desde una Toolbar tienes poco control sobre la rejilla asociada. Este es el motivo de la existencia de tuiTV. 

tuiTV pretende mostrar la necesidad de encapsular todos los controles dentro de un formulario.

 

Atentamente,

Jorge Hontoria Jiménez

http://tipesoft.com

 


([N4] eic) #8

Hola.

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.

Saludos,

Fran Varona

 


([N4] Jorge) #9

@Fran Varona

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.

 

Atentamente,

Jorge Hontoria Jiménez

http://tipesoft.com


([N1] wikiwiki) #10

Voy a probarlo Fran.

No me deja seleccionar el comando: Añadir ficha a la lista.

Ahí quedé atascado.

 Es más, pruebo a mostrar un mensaje en el evento, para ver si ejecuta el evento, y no lo muestra, es como si no lo ejecutara.

 

 

 


([N4] eic) #11

Hola.

¿Seguro que estás en un evento de rejilla? Debería dejarte usar ese comando...

Saludos,

Fran Varona

 


([N1] wikiwiki) #12

Segurísimo Fran. Además como te comento, pongo un mensaje en el evento y no lo llega a ejecutar.

 

 














([N1] wikiwiki) #13

Adjunto imagen.

 

[attachment=12259,1115]

 


([N1] wikiwiki) #14

Aqui se ve mejor.

[attachment=12260,1117]


([N4] eic) #15

Hola.

Varias cosas:

- 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.

Saludos,

Fran Varona

 


([N1] wikiwiki) #16

Como te decia, no me hace nada, incluso poniendo sólo que me muestre un mensaje solamente.

No se q pasa.

[attachment=12303,1120]


([N4] eic) #17

Hola.

Además del evento, ¿hiciste los otros pasos?

- Definir que la acción de la toolbar ejecute un "Disparar señal" en vez de un formulario de alta

- Definir una conexión de evento en la rejilla, que actúe cuando "Acción disparada", para la acción del punto anterior, y que lance el evento.

Saludos,

Fran Varona

 


([N1] wikiwiki) #18

Sí claro, como me dijiste.

Y no hace nada.

 


([N4] eic) #19

Hola.

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.

Saludos,

Fran Varona

 


([N1] wikiwiki) #20

Adjunto las imágenes, Fran.

Pero la toolbar la tengo en el autoexec, No en la rejilla.

Gracias.

[attachment=12324,1122] [attachment=12324,1123] [attachment=12324,1124]