Power Builder - Multiseleccion

 
Vista:

Multiseleccion

Publicado por David H (3 intervenciones) el 04/01/2006 05:42:51
Hola a todos,
Necesito tener la funcionalidad de multiseleccion en un dw grid para que los registros que haya seleccionado les pueda dar el tratamiento que yo desee, por ejemplo:
de los registros presentados en el dw, seleccionar aleatoriamente varios de esos registros y cambiar cualquier caracteristica en la base de datos

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:Multiseleccion

Publicado por Jancarlo (890 intervenciones) el 04/01/2006 14:55:59
Para multiseleccionar las filas puedes utilizar la función:

dw_control.SelectRow(nro_fila,true_false) //Sobre esta función puedes encontrar más detalle en la ayuda de PB.

Ahora también puedes probar agregándole un checkbox dentro de tu dw grid. De tal manera que podrás seleccionar las filas que deseas modificar y para obtener las filas a las cuales le aplicarás los cambios recorres con un bucle(for...to...next,do while...loop,etc) por todas las filas del dw y preguntando el valor que contiene la casilla de verificación.

//Por ejemplo cuando la casilla este seleccionada tendrá el valor '1' y '0' cuando no lo esté.

long ll_row
string ls_check

for ll_row = 1 to dw_control.rowcount()
ls_check=dw_control.getitemstring(ll_row,'check')
if ls_check = '1' then
//Aplicas los cambios que desees a esta fila....
End if
Next

.....
.....

El campo check lo puedes construir en el query de tu dw.

Select campo1,campo2,...campon,'0' as check from tuTabla

Espero que me haya dejado entender...de lo contrario hazlo saber para darte otra solución.

Suerte !
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:Multiseleccion

Publicado por David H (1 intervención) el 04/01/2006 19:36:00
Ok
Comprendo lo del check, pero no queria llegar al el, la idea es poder seleccionar varios registros y tratarlos, por ejemplo pasarlos a un dw o borrarlos, pero sin utilizar un check box.

Si, por ejemplo en el evento click tengo una variable que hace referencia a un campo del dw y con esta trato el registro completo, como le hago para seleccionar mas de un registro sin check ?, como marco o almaceno las variables con las que voy a dar tratamiento a los registros sin tener que ponerles un check box ??

De antemano gracias por tus comentarios
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:Multiseleccion

Publicado por Jancarlo (890 intervenciones) el 04/01/2006 20:48:39
Hola David...como te dije antes puedes utilizar la función SelectRow, pero además la función GetSelectedRow dentro de un bucle.

Te doy un ejmplo sencillo

//En el evento RowfocusChanged puedes poner lo siguiente

SelectRow(CurrentRow,True)

//Luego en un Botón coloca el siguiente código

long ll_row=0

do while dw_maestro.getselectedrow(ll_row)>0
messagebox('Fila Nº',string(dw_maestro.getselectedrow(ll_row)))
ll_row=dw_maestro.getselectedrow(ll_row)
loop

//Lo que hará la función GetSelectedRow es devolverte la siguiente fila después de la que le pasas como parámetro (ll_row) y asi sucesivamente hasta que ya no haya nada seleccionado. Ojo pero sólo te devolverá el nro de fila seleccionada con la función SelectRow

Luego que ya tienes el nro de cada fila lo demás será sencillo.

Cualquier duda nos comentas...

Suerte !

PD: Para Des-Seleccionar todas las filas se usa SelectRow(0,False ó True)
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:Multiseleccion

Publicado por David H (3 intervenciones) el 04/01/2006 21:17:31
Ok deja lo implemento y te comento los resultados

Muchas gracias
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