Mostrar multiselección, ¿es posible?


([N4] velavisual) #1

En un formulario sin origen, tengo una vista de datos que dispara dos balas (aún no me ha herido ninguna), una es una búsqueda y la otra es un retorno a una rejilla como resultado de la salida.
.
En el formulario pongo un botón que ejecuta un evento, en este evento pretendo seleccionar todos los registros que aparecen en la rejilla (esto se consigue con Interfaz: procesar todas).Hasta aquí todo correcto pero:
.

  1. Los registros no aparecen marcados en la rejilla, por lo tanto me dicen el cliente que no sabe si marcó el botón o no.
  2. Los registros deberían poder volver a desmarcarse mediante el mismo botón u otro. (eso es fácil)


    Deducimos que al igual que existe el Interfaz Procesar Todas…
    .
  3. ¿Debería existir un Interfaz: mostrar multiselección que visualmente actúe sobre la rejilla?
  4. ¿Debería existir un Interfaz. ocultar multiselección que visualmente también actúe sobre la rejilla?
    .
    Si alquien ha conseguido este efecto y lo quiere compartir se lo agradecería. O simplemente quito la funcionalidad para el cliente.
    .
    .
    saludos
    Antonio Vela
    http://www.velavisual.com

([N1] Pepeto) #2

Sencillo,

Trabaja con CESTAS y cruza o quita el contenido de las cestas despues de procesar los registros, luego actualizas nuevamente la vista de datos y listo.

un saludo
José Luis
http://www.ascsl.com


([N4] velavisual) #3

@Pepeto
.
Gracias, pero no quiero realizar nada con los registros, sólo conseguir el efecto visual mediante el botón.
Tal vez no me haya explicado bién, pongo una imagen [attachment=24607,1919]




([N1] Synetic) #4

Podrías crear en la tabla un campo bool SELECCIONADO. En la rejilla pones condiciones de estilo a las columnas. Con una señal Item: cambio de selección, marcar el bool y te aplicará la condición de estilo.
Para marcar todos haces un proceso recorrer lista marcando el campo.


([N4] velavisual) #5

@fernando.bricote
.
.
Gracias, lo había pensado también pero entonces no podría el usuario quitar algún registro de la selección mediante el uso normal de las teclas de slección/deselección. (Ctrl,Shift,Mayus o combinadas)
.
No sé si con vJavascript se puede hacer algo (ahora que está tan de moda), si no, quitaremos la funcionalidad.
.
.
gracias


([N1] comercial) #6

Hola, se me ocurre que con dos rejillas, una con todos y otra con los seleccionados, trabajando con botones para mover de una a otra todos, de uno en uno, drag/Drop etc. Quizá se salga mucho de tu planteamiento, es una idea…

Saludos.
Miguel.


([N1] Ignacio F) #7

Buenas.

Sí que se puede yo por ejemplo en algunas rejillas tengo un menú personalizado con sus acciones y una de ellas es seleccionar todos, en el evento de rejilla utilizo lo siguiente:

Interfaz: Procesar(, Todas )
–Recorrer Lista sólo lectura
----Crear copia de ficha en memoria ( ficha )
----Interfaz: Añadir ficha a la multi-selección (, ficha)

Ese evento yo siempre lo tengo en rejillas, pero para formularios sería exactamente igual.

Saludos


([N4] velavisual) #8

@Ignacio_F

.
Gracias por el aporte.
.
Funciona correctamente. Aunque no se vea visualmente del mismo color que las seleccionadas si lo hacemos seleccionando con las teclas y/o ratón.
.
Ppara desmarcarlas, en vez de usar Interfaz: Añadir ficha a la multi-selección, usamos Interfaz: Quitar ficha a la multi-selección.
.
saludos
Antonio Vela
http://www.velavisual.com


([N1] Ignacio F) #9

@velavisual

Que no tenga el mismo color depende del foco, al pulsar el botón el foco se mantiene en el botón. Para que tenga el mismo color simplemente al final del evento hay que añadir Interfaz: Establecer Foco (Rejilla)

Interfaz: Procesar( REJILLA, Todas )
–Recorrer Lista sólo lectura
—-Crear copia de ficha en memoria ( ficha )
—-Interfaz: Añadir ficha a la multi-selección ( REJILLA, ficha)
Interfaz: Establecer foco( REJILLA )

Saludos


([N4] velavisual) #10

@Ignacio_F
.
Gracias, ya me dí cuenta después…
.
.
Pero sigo insistiendo en lo mismo:
.
Deducimos que al igual que existe el Interfaz Procesar Todas…
.

  1. ¿Debería existir un Interfaz: mostrar multiselección que visualmente actúe sobre la rejilla?
  2. ¿Debería existir un Interfaz. ocultar multiselección que visualmente también actúe sobre la rejilla?
    .
    .
    SI = +1
    .
    .
    saludos
    Antonio Vela
    http://www.velavisual.com

([N4] velavisual) #11

@todos
.
.
Comunicaros que en la versión v7 7.11 dispondremos de la funcionalidad para mostrar la multiselección de los registros de las rejillas, pero mediante vJavascript.
.
Pongo el comentario para así dar la noticia a todos aquellos que hemos estado comentando esta situación por Skype.
.
.
Gracias maestro!!
.
.
saludos
Antonio Vela
http.//www.velavisual.com


([N1] wmejiaro) #12

Trayendo a colación lo visto aquí, en esta oportunidad quiero mostrar la selección de los registros de una rejilla que depende de un maestro pero si el maestro cambia y regreso los que estaban marcados ya no lo están, una solución podría ser que tenga un campo booleano (SEL) pero como hago para que si un registro esté marcado el campo SEL=1 y si lo desmarca sea SEL=0.

Gracias anticipadas.


([N3] blavan) #13

Hola, interesante pero por lo comentado habéis resuelto el problema de marcado cuando la multiselección se refiere a toda la rejilla, pero si el usuario sólo quiere tratar unas pocas filas? .
En v6 estaba muy bien resuelto, es que la verdad no sé para que sirve la propiedad multiselección de rejilla,en v6 si, aquí para mí no pinta nada


([N3] blavan) #14

Me repondo, buscando en este foro por multiselección encontré respuestas a mis dudas
Gracias


([N3] blavan) #15

Hola a vueltas con el tema
Jugando con las propiedades de la rejilla, se consigue un funcionamiento similar a la v6, es decir a la izquierda de la 1º columna se muestra una caja por cada fila con un check de activación.

Pregunto no es suficiente para resolver la cuestión planteada por velavisual
Lo que observo que al igual que en v6 pinchando en la cabecera de las cajas se seleccionan todas, pero no se desactivan, eso es un incordio o algo hago mal


([N1] percyleoncio) #16

No hay mas remedio que echar mano de javascript para seleccionar las filas deseadas a lo menos para una tabla arbolada llegué al arbol pero me quedé plantado allí