Inicio > Power Builder > agdsys > ProgressBar

ProgressBar

Experto:
Usuario:
Fecha: 12/10/2008
Valoración: (4,00 sobre 5) Categoría: Power Builder
12/10/2008
frankqume, usuario preguntando en Power Builder
Usuario
Hola a todos necesito ayuda, quiero saber como hago para hacer un progressbar, que se ejecute mientras se carge mi base de datos.
Mil Gracias.
12/10/2008
frankqume, experto respondiendo en Power Builder
Experto
esto tiene una penalizacion.

primero tienes que conoce cual es la cantidad total de registros que vas a retraer por lo que te oblica a ejecutar un count(*) antes de efectuar el datawindow.


luego puedes utiliar incluso el objeto que ya esta incluido en pb.
HProgresBar o VProgresBar

estos objetos poseen propiedades como
MinPosition = Minimo numero de la barra normalmente es 1 o 0
MaxPosition = Maximo numero de la barra, es aqui donde pones el resultado del count(*)
Position = posicion en la que va apuntando en el transcurso de la carga
SetStep = cada cuanto se pinta un nuevo punto en la barra


luego de esto lo relacionas con el datawindow por medio de los eventos

RetrieveStart() --> antes de iniciar el retrieve del datawindow
RetrieveEnd() --> al finalizar el retrieve
RetrieveRow() --> este se dispara cada vez que se carga un registro y recibe un parametro que indica el numero del row recibido.

bien ya con estas herramientas podrias hacer lo siguiente


incluir el progressbar en la parte central del datawindow pero con la propiedad visible en FALSE
o sea que cuando se ejecute la ventana este no se vera

en el evento retrievestart

hacer un select count(*) de tus registros
y configurar las propiedades de progresbar
Minima = 1
Maxima = resultado del select count(*)
position = 1
y visible en TRUE

luego en el evento RetrieveRow()
la propiedad position del progressbar igual a la variable que devuele el evento (row)

y para finalizar
en el evento RetrieveEnd() del datawindow
regresas la propiedad visible del progressbar en FALSE


espero esto pueda servir para resolver tu problema.
saludos
agdsys
12/10/2008
frankqume, usuario preguntando en Power Builder
Usuario
Gracias por tu respuesta, me sirvio para finalizar el trabajo que estoy realizando.
Enlaces patrocinados