Procesamiento de seleccionados en una rejilla


([N1] mirna) #1

Hola Foro!!!

Si en una rejilla quiero hacer un proceso para manipular los registros seleccionados, por ejemplo eliminarlos, ¿que debo hacer?. ¿Alguien me puede dar un ejemplo?. estuve revisando los comandos de Interfaz, pero noto que pareciera que sirven si la rejilla esta dentro de un formulario, pero si no es así, ¿se puede?

Gracias!!


([N4] Fran) #2

Buenos dias:

Efectivamente, la rejilla tiene que estar en un formulario. Luego creas un evento que haga lo siguiente:

Interfaz procesar, CONTROL-REJILLA, Seleccionados
— Lo que quieras hacer con los registros seleccionados
Interfaz recalcular, CONTROL-REJILLA (Para refrescar la visualización de la rejilla)

Un saludo,

Fran
EfeUno Consultores de Gestión y Software, S.L.
www.efeuno.org


([N4] sat) #3

Hola:

Aunque la rejilla no esté en un formulario, lo puedes conseguir.

  1. Supongamos una rejilla que muestra registros de “MITABLA” con su correspondiente toolbar.
  2. Creamos una acción “MIACCION” con origen “MITABLA” / Lista, que tenga como comando “Disparar señal” y la añadimos a la toolbar.
  3. En la rejilla, creamos un evento “MIEVENTO” con la instrucción "Interfaz procesar / control rejilla / seleccionados. Dentro de esta instrucción coloca las instrucciones que necesites.
  4. En la rejilla, creamos conexión de evento con las siguientes propiedades: Señal -> Acción disparada. Acción disparada ->“MIACCION”. Slot-> MIEVENTO.

Debería funcionar. Creo que no me he dejado nada.

Un saludo.


([N1] mirna) #4

Gracias a ambos por su tiempo…En el primer caso no me interesa tener la rejilla dentro de un formulario, ya se que así funciona, pero supuse como dice Sat que es posible hacerlo con la rejilla sola. Sin embargo, lo intenté de esa manera pero con el comando Interfaz: procesar no me deja elegir el control Rejilla sobre la que estoy trabajando, la puedo ver pero cuando la elijo no la toma¿estaré haciendo algo mal?, dejo la imagen para ver si detectan algo malo…

Gracias mil!!! [attachment=26188,2044]




([N4] eic) #5

Hola.

Que yo sepa, desde un evento de rejilla, sólo puedes manejar la selección de un registro (mediante la instrucción Leer -o modificar- ficha seleccionada). Pero no una selección de varios registros. Los comandos de Interfaz: procesar control sólo actúan sobre controles visor de datos.

Saludos,

Fran Varona


([N4] sat) #6

Hola Mirna:

Vas bien, eso es un “defecto” del comando interfaz. Cuando haces referencia al propio objeto, no aparece nada escrito en el primer argumento de la función. Ahora dentro del comando interfaz, pon un “Recorrer Lista” y dentro de éste, por ejemplo un Mensaje que muestre el ID del registro seleccionado (Te mostrará un mensaje para cada registro seleccionado en la rejilla).

Funcionará.

Luis A. Oliveira

Un saludo [attachment=26203,2046]




([N4] eic) #7

Nunca te acostarás sin saber una cosa más! Chapeau!

Saludos,

Fran Varona


([N4] velavisual) #8

Aportar que en las propiedades de la rejilla se ha de especificar -> Multiselección = Verdadero
.
Podemos añadir o quitar registros a los seleccionados con las teclas Ctrl,Alt,Shitf… y combinándolas.
.
saludos
Antonio Vela
http://www.velavisual.com [attachment=26207,2047]




([N1] mirna) #9

Excelente, pruebo y les digo!!!

Gracias a todos!


([N3] frugulletti) #10

Por cierto tocando este tema de rejillas de multiselección, no se puede personalizar un icono que gráficamente sea alusivo e intuitivo para que el usuario sepa que puede seleccionar varias filas a la vez?

Algo similar a los check’s que venían en las rejillas de la V6.

Adicionalmente hay algo curioso con esa columna 1ra columna en las rejillas de la V7 que aparecen al activar la propiedad multiselección, y es que al colocar un pié para totalizar columnas por ejemplo, esa 1ra columna que aparece con una numeración de filas, misteriosamente desaparece :-/

Que me parece regularmente bien pues al seleccionar una o más filas estas se ven como un botón pulsado, pero no se porqué motivo desaparecen.


([N1] J) #11

Perfecto. Funciona. Gracias. No obstante, con este sistema, ¿Cómo puedo refrescar la rejilla automáticamente?