Database, ProgressBar y Listbox

  1. 5 months ago

    Buenos Días a todos! De vuelta en el foro de la comunidad de Xojo, quisiera que me orienten.
    Deseo completar un listbox a partir de una gran cantidad de datos(3000 registros) que extraigo de la base de datos. Y quiero que se muestre una barra de carga que permita saber el avance de la operación... He intentado con un timer y un thread y no consigo que se sincronice la carga del ListBox con la barra de progreso. Para actualizar los cambios en la base de datos también quiero una barra de progreso que se sincronice con la actualización en la BD.
    A la espera de sus consejos, Desde ya muchas gracias.

  2. nicolás c

    Apr 23 Pre-Release Testers, Xojo Pro

    no puedes actualizar una barra de progreso desde el thread principal. tienes que hacerlo desde un thread secundario. igualmente 3000 registros no es una gran cantidad

    enlace 1
    enlace 2

  3. nicolás c

    Apr 23 Pre-Release Testers, Xojo Pro

    para actualizar los datos por lo general no se necesita una barra de progreso ya que es una operacion bastante rapida (menos de medio segundo, tiempo que la mayoria de los usuarios estan dispuestos a aceptar). si la actualizacion de un registro lleva mas tiempo que eso es que algo está mal. quizas te resulte mas practico hacer que tu aplicacion funcione a la perfeccion.. y luego hacer que sea veloz. como dicen algunos: "First do it, then do it right, then do it better - this is my mantra for successfully getting things done. It's all about the iteration."

    enlace interesante

  4. nicolás c

    Apr 23 Pre-Release Testers, Xojo Pro

    tips para cargar mas rapido una listbox

    otro link util

  5. Muchas gracias Nicolás Canessa! Me alegra conversar con otro adepto de Xojo en Argentina! He investigado bastante cómo optimizar mis operaciones de la BD. De hecho la cantidad de registros con las que trabaja mi aplicación puede aumentar hasta 10.000. El código funciona, se cargan y se actualizan los datos. Y leyendo los enlaces que compartiste ahora tengo una idea de cómo optimizarlo. Agradezco mucho las páginas que compartiste.
    De todas maneras mi deseo es poder mostrarle al usuario de manera gráfica una ventana modal con una barra de progreso con los registros que se van procesando. Es en éste ultimo detalle en el que estoy renegando un poco. Quizás estoy dando vueltas en un problema más sencillo, pero no estoy dándome cuenta de la solución.

  6. Javier M

    Apr 29 Pre-Release Testers, Xojo Pro, Third Party Store AprendeXojo - Europe, Spain

    Hola Mariel,

    ¿Estás haciendo o viendo el comportamiento de rendimiento en "local" o sobre un servidor de producción?

    Perdón por adelantado porque no supone una respuesta directa a la consulta planteada, sólo sugerencias sobre el planteamiento del problema.

    Ten en cuenta que en las aplicaciones Web has de contar con temas como latencia y velocidad de envío / recepción de los paquetes… y si bien una app Web puede mostrarse más o menos rápida en local, las cosas pueden cambiar cuando despliegues sobre producción.

    Es cierto que la cantidad de registros (3.000 / 10.000) es sólo un indicativo, lo realmente importante es la cantidad de datos (KB / MB) en los que se traducen dichos registros cuando han de viajar por la red, sumado a la posible cantidad de conexiones recurrentes que puede soportar la app y también la serie de eventos que pueden saltar en respuesta al hecho de recuperar y mostrar la información en el listbox.

    Quizá la mejor estrategia que podrías observar en cualquier caso (y que resultaría escalable) sería la de introducir paginación a la hora de recuperar y trabajar con los registros sobre el listbox.

    Muy probablemente, lo anterior evite la necesidad de introducir elementos de barra de progreso u otros indicativos como muestra de estado; y si aun así fuese necesario o quisieras mostrar un elemento gráfico de estado… probablemente lo que menos carga introduzca sería el elemento de "Progress Wheel".

    Seguramente este tipo de interacciones serán bastante más sencillas cuando llegue la versión 2.0 del framework Web!

    Javier

or Sign Up to reply!