Power Builder - Seleccionar con Mouse registros en DataWindow

 
Vista:

Seleccionar con Mouse registros en DataWindow

Publicado por Alonso (62 intervenciones) el 12/02/2010 16:43:32
Estimados.

Requiero determinar que filas (registros) fueron seleccionadas con el mouse de un DW del tipo Grid. Dicho DW siempre tendrá filas (registros) a visualizar, a lo menos uno.

Espero que puedan darme una idea u orientacion, que eventos del DW Control afecta. O si puedo acceder con un Boton a los campos (el contenido de la celda) de las filas (registros) seleccionadas del DW .

Las selecciones mas comunes :

1. El usuario a achurado varias filas con el mouse.
2. El usuario presionando la tecla Control (Ctrl) y con el mouse selecciona filas (registros) distintas, es decir filas no consecutivas.

Agradecere cualquier comentarios.

ATTE
Alonso
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:Seleccionar con Mouse registros en DataWindow

Publicado por miguell (108 intervenciones) el 14/02/2010 09:56:10
para seleccionar una fila tienes el comando dw.SelectRow( ) que también vale para de-seleccionar.

para ver cuales filas están seleccionadas tienes el comando dw.GetselectedRow( ) si no me equivoco.

para el 'achurar' (supongo que quiere decir que pulsas el botón del ratón y lo mueves sin soltar el botón y que quieres que todas las filas que estén implicadas sean seleccionadas)?
para eso te vendría bien el evento que corresponde al "left mouse button down" y el "left mouse button up". No sé si tendrás que añadirlos al control del datawindow y si a lo mejor ya está(n). Creo que el evento asociado internamente al lmousebuttondown es el 'clicked'. El problema que tengo es que no tengo mi ordenador aquí y no puedo indicarte mejor al no tener pb instalado. dentro de un par de días te podré ayudar mejor.

para el si o no seleccionar con la tecla CTRL, codifica lo siguiente en el evento clicked del datawindow:

If Row > 0 Then
If KeyDown(KeyControl!) Then
This.selectrow(Row,true)
Else
This.selectrow(0,false)
This.selectrow(Row,true)
End If
// también podrás implementar funcionamiento de mayusculas
If KeyDown(KeyShift!) Then
// esto falta por codificar: This.Event Trigger ue_ShiftClicked( Row )
Return
End If
End If
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:Seleccionar con Mouse registros en DataWindow

Publicado por miguell (108 intervenciones) el 14/02/2010 09:57:54
el código del anterior post lo puedes encontrar aquí:

http://powerbuilder.hyderabad-colleges.com/Advanced-PowerBuilder-2-13-30.html

(también está el evento que comenté para añadir funcionamiento de mayuscula+click)
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:Seleccionar con Mouse registros en DataWindow

Publicado por Alonso (62 intervenciones) el 17/02/2010 02:07:06
Estimado Miguel.
Basado en tu comentario y también el sentirme mejor de mi alzahimer, recorde haber construido algo así por la decada pasada (PB Ver. 6.5.1) .

Como al famoso Usuario requeria un conteo de recaudaciones de distintos dias por persona , le di las indicaciones en la ayuda correspondiente de como efectuar su procedimiento.

En el programa esto lo que hice:

DW Control Evento DoubleClicked
if this.rowcount() <> 0 then

lg_scam = lg_scam + this.getitemnumber(row,'total_camino')
lg_spea = lg_spea + this.getitemnumber(row,'total_peaje')
lg_sliq = lg_sliq + this.getitemnumber(row,'total_liquido')

em_scam.text = string(lg_scam)
em_spea.text = string(lg_spea)
em_sliq.text = string(lg_sliq)

end if

mas un botón para borrar las cajas Edit Mask

Se agradece
Alonso
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