Power Builder - dw checkbox

 
Vista:

dw checkbox

Publicado por Alejandro (72 intervenciones) el 04/03/2011 16:36:27
Amigos tengo la siguiente consulta, en un dw grid tengo una columna con checkbox, y mi duda es como hago para seleccionar un registro por medio del checkbox y que me almacene en variables el registro seleccionado?.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:dw checkbox

Publicado por JeinnerH (646 intervenciones) el 04/03/2011 17:59:59
No logro comprender muy bien qué es lo que deseas, puedes ser un poco más específico, por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:dw checkbox

Publicado por Alejandro (72 intervenciones) el 04/03/2011 18:24:58
tengo un dw grid con una columna edit checkbox, me refiero a la selección on = 0, off = 1, me gustaria que al momento de pinchar uno y luego pinchar otro se desmarque el anterior.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:dw checkbox

Publicado por JeinnerH (646 intervenciones) el 04/03/2011 20:22:40
Pues aún no entiendo a qué te refieres con anterior. Es decir, si hay otro registro marcado, que se desmarquen los otros? Lo que deseas es que sea un check excluyente, es decir, si ya hay uno marcado, este se desmarque y sólo quede el que quiero marcar.

Si es así, lo que debes hacer es poner en el Evento ItemChanged un For, el cual desmarca todos los registros que se encuentren marcados, a excepción del anterior.

Algo como:

For li_1=1 to RowCount()
If li_1 <> row Then &
object.Campo[li_1].Chequed=FALSE
Next
AcceptText()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:dw checkbox

Publicado por Alejandro (72 intervenciones) el 04/03/2011 22:42:26
Jeinnerh:

Es justo eso...tengo esto pero no ahi caso:

LONG ll_aux

FOR ll_aux=1 TO rowcount()

If ll_aux = row Then
//if dw_1.object.eliminar[ll_aux]=1 then
//IF dw_1.object.eliminar.CheckBox.on = "0" THEN;
li_maquina = INTEGER(dw_1.getitemNumber(row,2))
ls_nboleto = dw_1.getitemstring(row,5)
lg_serie = LONG(dw_1.getitemNumber(row,6))

SELECT tipo INTO :li_tboleto FROM t_tipoboletos WHERE nombre_b=:ls_nboleto;

dw_2.settransobject(sqlca);
dw_2.retrieve(li_maquina, li_tboleto, lg_serie);

END IF;
IF ll_aux <> row THEN;
dw_1.object.eliminar.CheckBox.off = "1"
END IF;

NEXT
COMMIT;

THIS.accepttext( )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:dw checkbox

Publicado por JeinnerH (646 intervenciones) el 07/03/2011 18:19:31
Prueba el siguiente código, a ver si te funciona.

Veo algunos detalles en tu código, primero, el uso de los ';' no es necesario, a menos de que sean comandos de base de datos.

Otra cosa es que el SetTransObject, es necesario sólo una vez para cada DW, no es necesario darlo varias veces.

Asegúrate que el dw_1, tenga propiedades de actualización así cuando hagas el Update se actualizará los Checkes en la Base de Datos.

Faltan algunas validaciones, pero en términos generales con lo que te pongo haces lo mismo.

LONG ll_aux


FOR ll_aux=1 TO RowCount()
If ll_aux = row Then
li_maquina=INTEGER(dw_1.getitemNumber(row, 2))
ls_nboleto=dw_1.getitemstring(row, 5)
lg_serie=LONG(dw_1.getitemNumber(row, 6))

Else
dw_1.object.eliminar.CheckBox="1"
NEXT

dw_1.accepttext()
UPDATE(TRUE, TRUE)
COMMIT;

SetNull(li_tboleto)
SELECT tipo
INTO :li_tboleto
FROM t_tipoboletos
WHERE nombre_b = :ls_nboleto;
If Not IsNull(li_tboleto) Then
dw_2.retrieve(li_maquina, li_tboleto, lg_serie)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:dw checkbox

Publicado por Alejandro (72 intervenciones) el 11/03/2011 12:48:40
Jinnerh a que te refieres con el SetNull?.

Saludos y gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar