rejilla multiseleccion cesta restablecer multiseleccion


([N4] rpaton) #1

Hola:
En un formulario tengo una rejilla multiselección que alimentará una Cesta Global con los registros seleccionados. La cesta se lena al pulsar un botón por ejemplo Aceptar.
Esta cesta la utilizo junto con otras cestas para filtrar registros por diferentes condiciones.
Puesto que cuando pulsar el botón Aceptar del formulario de la rejilla multiselección este formulario desaparece quiero que si el usuario vuelve a acceder a formulario de la rejilla pueda tener marcados como seleccionados los registros de la Cesta Global.
Tengo el siguiente manejador, pero no me hace las marcas de multiselección.
Cesta: Crear cesta local ( ARTICULOS@vTextilDat, CestaOpe )
Cargar lista ( ARTICULOS@vTextilDat, OPE_CAD, , , , )
Cesta: Agregar lista a la cesta ( CestaOpe )
Libre
// Rem ( Añadimos la cesta a la lista )
Interfaz: Procesar ( CONTROL, Todas )
Cortar lista ( 0, )
Cesta: Agregar a la lista en curso ( CestaOpe )
Cesta: Procesar ( CESTA_OPE_CAD@vTextil )
Recorrer lista sólo lectura
Cesta: ¿Está la ficha en la cesta? ( CESTA_OPE_CAD@vTextil, NUM_POS )
If ( NUM_POS!0 )
Crear copia de ficha en memoria ( Ficha )
Interfaz: Añadir ficha a la multi-selección ( CONTROL, Ficha )

Saludos.

Ricardo patón


([N4] rpaton) #2

Hola:
Solucionado de la siguiente forma:
En la vista de datos CONTROL selecciono un Proceso que me carga los registros de la rejilla e indico la rejilla a utilizar:
PROCESO:

Cargar lista ( ARTICULOS@vTextilDat, OPE_CAD, , , , )
Añadir lista a la salida

Luego ejecuto Manejador de Evento en ON_INIT:

Interfaz: Procesar ( CONTROL, Todas )
Recorrer lista sólo lectura
Cesta: ¿Está la ficha en la cesta? ( CESTA_OPE_CAD@vTextil, NUM_POS )
If ( NUM_POS!0 )
Crear copia de ficha en memoria ( Ficha )
Interfaz: Añadir ficha a la multi-selección ( CONTROL, Ficha )
Interfaz: Establecer foco ( CONTROL )

La primera vez el usuario selecciona los registros y el programa los pasa a la cesta global CESTA_OPE_CAD. La siguiente vez compruebo si cada registro está en esta cesta y los añado a la multiselección.

Saludos.

Ricardo Patón