• Miércoles 5 de Febrero de 2025, 13:44

Autor Tema:  ProgresBar y Base de datos  (Leído 1799 veces)

darksito

  • Miembro MUY activo
  • ***
  • Mensajes: 145
  • Nacionalidad: pe
    • Ver Perfil
ProgresBar y Base de datos
« en: Martes 12 de Enero de 2010, 20:55 »
0
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,


darksito

  • Miembro MUY activo
  • ***
  • Mensajes: 145
  • Nacionalidad: pe
    • Ver Perfil
Re: ProgresBar y Base de datos
« Respuesta #1 en: Jueves 14 de Enero de 2010, 15:24 »
0
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: