Power Builder - ayuda con checkbox en dw

   
Vista:

ayuda con checkbox en dw

Publicado por Abel (19 intervenciones) el 16/10/2007 17:30:31
saludos!!!

Tengo una datawindow con una columna entera editada como checkbox, lo que deseo es que al ejecutarla pueda seleccionarse o deseleccionarse el checkbox de cualquier renglón y en cualquier orden, lo que he hecho hasta ahorita es usar los eventos click y doubleclick para toda la datawindow, por lo que al dar click en ella se seleccionar o deselecciona solo un checkbox, y si uso un for pues es obvio que si doy click sobre la datawindow todos los renglones se van a modificar al mismo tiempo, ojalá me haya dado a entender y espero que alguien me pueda ayudar!!!, gracias.
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

RE:ayuda con checkbox en dw

Publicado por alberto (73 intervenciones) el 16/10/2007 18:07:55
tienes que fijarte un poco más en los parámetros que el datawindow pone a tu disposición en los eventos.
si miras la definición de los eventos doubleclicked y clicked del datawindow, te ofrece un dwobject y un row, que puedes utilizar asi:

if dwo.name = "columnaconelcheck" and row > 0 then
this.setitem(row , dwo.name, valorparaelcheckbox)
end if

esto marcaría sólamente la fila identificada por "row" y no todas las filas
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

problema resuelto

Publicado por Abel (19 intervenciones) el 17/10/2007 18:17:34
SALUDOS Alberto

Gracias por tu consejo, me fue de mucha utilidad, aunque ya vi que lo que me hacia falta era activar el tab order, con ello ya puedo realizar la seleccion de cualquier renglón, y sin necesidad de poner algun script en los ventos click y doubleclick de la datawindow.
Simplemente con éste código recorro cada renglon y lo actualizo:

int ll_aux = 1, ll_dato, valor_1
for ll_aux=1 to dw_1.rowcount()
ll_dato=dw_1.object.columna[ll_aux] //lees el dato de tu dw
if ll_dato = 1 then
messagebox("El valor definitivo es:", + ll_dato)
elseif ll_dato = 0 then
messagebox("El valor definitivo es:", + ll_dato)

update into tabla ( columna )
values ( ll_dato) ;
commit ;
end if
next

bueno, asi es como quedó resuelto mi problema
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