Power Builder - sincronizar scroll de datawindows

 
Vista:

sincronizar scroll de datawindows

Publicado por mariano (8 intervenciones) el 16/05/2005 11:43:33
Tengo un problema sincronizando el movimineto vertical de dos DW. En el evento scrollvertical de una pongo el siguiente codigo:

dw_2.Object.Datawindow.VerticalScrollPosition = dw_1.Object.Datawindow.VerticalScrollPosition

La dw_2 se tiene que mover verticalmente al mover la dw_1. Las dos son del mismo tamaño y tienen la misma cantidad de filas.
El problema que tengo es que el summary es bastante grande y parece que, cuando en la dw_1 salto de la ultima fila al summary, y este deja de verse en la datawindow, el scroll de la dw_2 deja de seguir al de la dw_1, como si reconociera como limite maximo para desplazarse la ultima fila que tiene. No se si me explico bien. Hay alguna solucion para esto?
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:sincronizar scroll de datawindows

Publicado por Oscar (1178 intervenciones) el 16/05/2005 15:38:35
Probá estas dos opciones:
Script en el evento scrollvertical del dw_1:

dw_2.Object.datawindow.verticalscrollposition = scrollpos

//Cuando llegue al máximo del dw_1,
//que el dw_2, se desplace un número grande cualquiera
If dw_2.Object.DataWindow.VerticalScrollPosition = dw_1.Object.DataWindow.VerticalScrollMaximum Then
dw_2.Modify("DataWindow.VerticalScrollPosition = 2000")
End If

//------------Fin---------------------------
Un mejor método, consiste en trabajar con porcentajes. En el evento scrollvertical del dw_1, pegá:

Long ll_vpos1, ll_vmax1, ll_vpos_2, ll_vmax_2
Decimal ld_vmax_1_porcent

ll_vpos1 = scrollpos

ll_vmax1 = Long( dw_1.Object.DataWindow.VerticalScrollMaximum )
ll_vmax_2 = Long( dw_2.Object.DataWindow.VerticalScrollMaximum )
ld_vmax_1_porcent = ll_vpos1 / ll_vmax1
ll_vpos_2 = ld_vmax_1_porcent * ll_vmax_2

dw_2.modify("datawindow.verticalscrollposition=" + String(ll_vpos_2))
//----------Fin-----------------------
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

No funciona

Publicado por mariano (8 intervenciones) el 17/05/2005 14:25:47
Gracias, pero no funciona, la dw_2 no quiere pasar de la ultima fila
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