MTBASE / SYBASE DE COLOMBIA
 
Búsqueda avanzada...
Versión para imprimir Versión para imprimir Enviar vínculo por e-mail Enviar por e-mail Ver atributos del documento Atributos del documento
 

PowerBuilder Tip #9: Manteniendo Sincronizado el Desplazamiento de DataWindows Shared

Hay situaciones en las que usted usa dos datawindows visibles y desea mantenerlos sincronizados  al desplazarse sobre ellos. En éste ejemplo, el usuario tiene dos datawindows “shared”. Ambos son de tipo “free form” y en consecuencia están mostrando exactamente una fila de datos a la vez (cada uno mostrando diferentes columnas de la misma fila).

Esto le permitirá desplazar el datawindow primario y el secundario usando las teclas PageUp (RePág) y PageDown (AvPág), las flechas de desplazamiento y el ratón (sobre la barra de desplazamiento vertical del datawindow primario).

En éste ejemplo, el datawindow primario tiene una barra de desplazamiento vertical, mientras que el secundario no la tiene. El efecto es: el usuario piensa que se está desplazando en una ventana, cuando realmente se está desplazando sobre ambos datawindows (el primario y el secundario) al mismo tiempo.

El ejemplo asume que el datawindow primario tiene foco y que los comandos de navegación son aplicados al datawindow primario. El código de abajo mantendrá el datawindow secundario sincronizado con el primario. Si se quiere la posibilidad de que el datawindow secundario tenga el foco y que el usuario navegue en ese datawindow también, se deberá escribir un script similar para el segundo control de datawindow, de tal manera que se mantenga el datawindow primario sincronizado.

En el evento Open de la ventana, codifique lo siguiente: (en adición a la conexión a la base de datos)

dw_primary.SetTransObject(sqlca)
dw_primary.Retrieve()
dw_primary.ShareData(dw_secondary)

Defina un evento de usuario  ue_scrollvertical en el control del datawindow primario (dw_primary) y codifique lo siguiente:

long ll_row
string ls_row
// Obtenga la primera fila de la página (FirstRowOnPage) sobre el datawindow
// primario. Dado que es un datawindow free form con una sola fila desplegada,
// la primera fila es la única visible. Desplácese hacia esa misma fila en el
// datawindow secundario.
ls_row = this.Object.DataWindow.FirstRowOnPage
ll_row = integer(ls_row)
dw_secondary.ScrollToRow(ll_row)

En el evento ScrollVertical del control del datawindow primario codifique:

this.event post ue_scrollvertical()
hr

Vea aquí más Tips de PowerBuilder.

Atributos del Documento
Resumen: Este tip muestra una porción de código que le permite al usuario desplazar un datawindow primario y uno secundario usando las teclas PageUp (RePág) y PageDown (AvPág), las flechas de desplazamiento y el ratón (sobre la barra de desplazamiento vertical del datawindow primario).
Código: 10190 Última Modificación: Mar 28, 2005
Temas: Programación Tipo de Documento: PowerBuilder Tip
Productos: PowerBuilder Versión: Todas las Versiones
Plataformas: Todas las Plataformas Sistema Operativo: Todos los Sistemas Operativos
 
 Inicio   Sobre MTBASE   Sobre Sybase   Empleos en MTBASE   Mapa del Sitio   Aspectos Legales y Políticas de Privacidad