AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Looper
  • Presentación
  • ¿Cómo proceder?
  • Configurando el control
  • "Añadir elementos adicionales" Event
  • Personalizar la ventana de espera o Page
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Hay dos métodos para rellenar los controles de la tabla y el looper mediante programación:
  • Poblando todo el control: Todos los datos que se encuentran en el control se cargan al inicializar el control.
    Ventaja: Todos los valores se encuentran en la control. Tiene la capacidad de realizar búsquedas o clasificaciones de los elementos que se encuentran en la control.
    Inconveniente: El control y sus datos pueden utilizar mucha memoria. Para las aplicaciones móviles, la carga completa puede consumir ancho de banda y ralentizar la visualización..
  • Rellenar el control si es necesario (Table y Looper infinito): Sólo se cargan en memoria los datos Visible al usuario. Los datos adicionales se cargan a petición (cuando se utiliza la barra de desplazamiento, por ejemplo).
    Ventaja: Baja utilización de la memoria. Para las aplicaciones móviles, mayor velocidad de visualización y menor consumo de ancho de banda.
    Inconveniente: No hay que ordenar ni buscar hasta que todos los datos estén disponibles.
¿Cómo proceder?

Configurando el control

Para habilitar el mecanismo de llenado del control en caso necesario (looper Infinite tabla/Infinite):
  1. Abra la ventana de descripción del control.
  2. En la pestaña "Contenido", en la sección " Infinite tabla "/" Infinite looper":
    • Seleccione la opción "Llamar al proceso para agregar elementos adicionales al final del desplazamiento".
    • Seleccione la ventana interna o Page que se mostrará al cargar filas adicionales. Usted puede:
      • Utilice la ventana de espera interna Default o Page,
      • Utilice la ventana de preselección o Page. Si esta opción está seleccionada, el componente interno WDAAF se agrega inmediatamente al proyecto actual. Según la plataforma, el elemento correspondiente (ventana o Page) se associated automáticamente con la opción "Ventana de espera interna" o "Page de espera interna"..
        • WEBDEV - Código Servidor En WEBDEV, la página se llama "iPage_AddExtraElem".
        Observación: Si la WDAAF Component ya existe, sólo se añade la ventana o página a la Component.
      • Utilice una ventana interna o Page de su proyecto.
    • Especificar el número máximo de filas: Este número corresponde al número máximo de filas que se pueden añadir a la control. Una vez alcanzado este número, ya no se llamará a "Añadir elementos adicionales" Event.
  3. Valide la ventana de descripción del control.
Al configurar la tabla Infinite o control Looper, se añaden:
  • WEBDEV - Código Servidor En WEBDEV: a los acontecimientos de la control:
    • Añadir elementos adicionales (navegador).
    • Añadir elementos adicionales (servidor).
    • Retorno AJAX después de añadir elementos adicionales (navegador).
Observación: Esta opción no está disponible para:
  • Controles de looper basados en un archivo de datos, controles de looper horizontales y controles de looper multicolumna.
  • la controles Tabla basada en un archivo de datos.

"Añadir elementos adicionales" Event

La Event "Añadir elementos adicionales" debe contener el código para actualizar los datos en la control. Por Default, la ventana de espera interna se muestra mientras se ejecuta este código. Al final de la ejecución del código, la ventana de espera interna se ocultará automáticamente.
Observación: Este Event se llama automáticamente:
  • al inicializar la ventana, si la control está vacía.
  • después de la inicialización de la ventana, si todas las filas de control son Visible
  • una vez que el control fue ampliado, si todas las filas de control son Visible (mientras que no eran Visible antes de la ampliación).
  • después de un pergamino al fondo, si el último control fila es Visible.
Atención: Si se selecciona la ventana interna predeterminada , se muestra una barra de progreso (ventana de espera) mientras se ejecuta "Agregar elementos adicionales" Event. Esta barra de progreso sólo se mostrará si el hilo principal puede ejecutarse mientras se ejecuta la "Adición de elementos adicionales" Event.
Para ver la barra de progreso, debe ejecutar una actualización Process larga (petición HTTP o iteración HFSQL, por ejemplo) en un hilo ejecutado desde la "Añadir elementos adicionales" Event. En este caso, la barra de progreso debe ser gestionada por TableAddInProgress y LooperAddInProgress.
Ejemplo de código para "Añadir elementos adicionales" Event: Llenar un control Tabla con los últimos correos electrónicos no leídos:
SessionID is int
EmailRead is Email
 
// Loads the last unread messages
EmailReadFirst(SessionID, EmailRead, emailUnread)
WHILE NOT Email.Out
// Process the message
TableAddLine(TABLE_Email, EmailRead.Sender, EmailRead.ReceiveDate, EmailRead.MessageID)
EmailReadNext(SessionID, EmailRead, emailUnread)
END
Observación: Si el evento "Adición de elementos adicionales" devuelve False:
  • la ventana de espera interna ya no se muestra,
  • la Event "Añadir elementos adicionales" ya no se ejecuta.
WEBDEV - Código Servidor Se aplica el mismo comportamiento.

Personalizar la ventana de espera o Page

La barra de progreso está contenida en una ventana interna o Page.
WEBDEV - Código Servidor Default utiliza una página interna estándar, pero puede integrarla en el proyecto para personalizarla.. La barra de progreso se gestiona automáticamente.
Versión mínima requerida
  • Versión 21
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 20/06/2023

Señalar un error o enviar una sugerencia | Ayuda local