Yo me topé con el mismo problema, en un webpanel donde necesitaba selecciónar mediante un botón, solo aquellas filas que cumplieran ciertas condiciones de validación pero se marcaban todas las lineas de acuerdo al último valor que tenía la variable del checkbox.
( Ver foto de pantalla en fichero adjunto)
En ese webpanel, si una linea tiene errores, no debe permitir seleccionarla (checkbox disabled).
Logré resolver el problema de que el botón marcaba todas las líneas agregando en la grilla otra columna auxiliar (no visible) y en el for each line, en lugar de actuar sobre la columna que es checkbox, cambio el valor de la auxiliar, la cual es de tipo edit, por S o N, S o N porque a ambas columnas (check y edit) las definí como char(1) pero si fueran numéricas sería igual.
Ej. si &marca es la variable del checkbox y &marca_aux la auxiliar, en el evento asociado al botón de Marcar/desmarcar todos puse el siguiente código:
for each line
if &estado = 'E' // Errores
or &marca.Enabled = False
// &marca = 'N' // Esto no funciona. Siempre marca todo
&marca_aux = 'N'
else
// &marca = 'S'
&marca_aux = 'S'
endif
endfor
Y luego en el evento load de la grid:
if &estado='E'
&marca.Enabled = false
&marca = 'N'
else
&marca.Enabled = true
if &marca_aux = 'S'
&marca = &marca_aux
else
&marca = 'N'
endif
endif
Es una manera bastante simple de resolverlo y funciona sin necesidad de trabajar con sdt o arrays.
Saludos.
El miércoles, 18 de octubre de 2006, 20:35:53 (UTC+2), Carlos Canessa escribió:
Doris:El tema es que cuando seleccionas el ultimo renglon del grid, al hacer el
refresh, te esta cargando la grilla con el ultimo valor de la variable &sel.
Para esto si no queres que luego del refresh te queden todos marcados debe
inicializar la variable &sel, ahora bien si queres que luego del refresh te
queden marcados solo los renglones que tu seleccionaste, deberias guardar en
alguna estructura como ser un sdt los valores de cada renglon marcado, para
luego en el evento load del grid, en base al sdt, volver a poner la marca.Espero que se entienda la idea
Saludos
Carlos C.-----Original Message-----
From: Doris Schembori [mailto:dsche...@gmail.com]
Sent: Monday, October 16, 2006 1:34 PM
To: jav...@gxtech.com.uy; inter...@gxtech.com.uy
Subject: [java-l] Check box en Grilla - Web PanelHola Foro, tengo una consulta... tengo una grilla de atributos en un web
Panel, al cual le agregué una Variable &Sel, que es numérico de 1, y el tipo
de Control es CheckBox, mi grilla tiene 3 registros, si selecciono los
primeros dos registros y presiono un botón, se desmarcan los dos registros,
pero si marco el primero y el tercero, al presionar un botón, se quedan
seleccionados los tres registros...
Como puedo hacer para que yo seleccione los registros que quiero, y sin
importar la cantidad de refresh que se hagan, siempre se queden
seleccionados solo los registros que yo marqué?Agradeceré sus comentarios
Saludos
Doris Schembori------------------------------
-----------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,20
Por consultas owner-...@gxtech.com.uy--
No virus found in this incoming message.
Checked by AVG.
--
No virus found in this outgoing message.
Checked by AVG.
-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,20
Por consultas owner-...@gxtech.com.uy
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a genexus+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
0 Response to "Re: [java-l] Check box en Grilla - Web Panel"
Publicar un comentario