SoloCodigo
Programación General => Power Builder => Mensaje iniciado por: darksito en Martes 12 de Enero de 2010, 20:55
-
Hola que tal amigos del foro quisiera que me ayudaran en este pequeño problema, quisiera crear un progresbar para que me muestre cuanto falta para mostrar todos los datos
Ejemplo:
Tengo una tabla con 1000 registros y bueno es un poco pesado y demora en mostrarse todos los registros y creo que con un progresbar iria mostrando el tiempo que falta para completar la consulta.
t_empleados
Idempleado
nombres
Estado
Gracias espero que me ayuden,
-
Me Respondo
1.Colocas un Hprogressbar control sobre la ventana o pantalla de consulta, le colocas un nombre y dejas como estan sus propiedades por defecto. Para el ejemplo lo llamaremos hpb_1.
2.En el evento Open() de la pantalla o ventana de consulta pones:
hpb_1.visible=false
3.Te ubicas en el datawindow que carga los registros de la consulta y en su evento Retrievestart() colocas lo siguiente:
//variable que almacena el total de registros de la consulta a la base datos.
long ll_total
//Hacemos la consulta a la base de datos.
select count(*) into :ll_total from [nombre_tabla o nombre_vista]
using sqlca;
//Definimos las propiedades en el Hprogressbar.
hpb_1.minposition=0
//El total de registros devuelto por la consulta lo asignamos a su maxima posicion.
hpb_1.maxposition=ll_total
//Ponemos el Hprogressbar a una minima posicion.
hpb_1.position=1
//Mostramos el Hprogressbar control cuando se empieza a cargar.
hpb_1.visible=true
4. En el evento Retrieverow() del mismo datawindow colocas lo siguiente:
//Asignamos cada registro que se carga a la posicion del Hprogressbar control.
hpb_1.position=row
5. En el evento Retrieveend() del mismo datawindow colocas lo siguiente:
//Cuando se termina de cargar todos los registros, volvemos a ocultar el Hprogressabar control.
hpb_1.visible=false
Si alguien tiene forma mas sencilla o mejor pueden publicarla se les agradece :good: