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?
  • Incluir una control Tabla en una control Looper
  • Incluir un control en un control Looper
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
En un control Looper, se puede asignar un contenido diferente a los controles Table, Chart, List Box y TreeView:
  • Si el control a repetir es un control Tabla o un control Gráfico, todo lo que tienes que hacer es insertarlo en el control Looper directamente.
  • Si la control a repetir es otro tipo de control (control List Box, control TreeView, etc.), basta con insertar esta control en una ventana interna. Entonces, todo lo que tienes que hacer es crear el associated control Ventana interna en el control Looper.
Observación: Los controles de la Tabla y el Gráfico o los controles de la ventana interna deben poblarse mediante programación.
¿Cómo proceder?

Incluir una control Tabla en una control Looper

Para incluir una control Tabla en una control Looper:
  1. Si es necesario, cree un control Looper: basado en un archivo de datos, basado en un Variable, o rellenado de forma programática.
  2. Insertar el control Tabla en el control Looper. La control Tabla debe rellenarse mediante programación.
  3. Asegúrese de que "Contenido idéntico para todas las filas" no esté marcado (pestaña "UI" en la ventana description de control Tabla ).
  4. Ahora se puede rellenar la control Tabla de forma programada.
La control Tabla que se encuentra en la control Looper se puede rellenar con la TableAddLine según el siguiente método:
TableAddLine(<Name of Looper control>[Row index].<Name of Table control>,
<Element Column 1>, <Element Column 2>, ...)
Ejemplo: El siguiente código se utiliza para rellenar el contenido de la control Tabla que se encuentra en la control Looper. La control Looper enumera los pedidos y la control Tabla los productos solicitados..
El siguiente código se utiliza para rellenar tanto la control Looper como la control Tabla:
PROCEDURE FillOrdersOfTheDay()
 
// Local variables
nIndex is int
 
// Clears the Looper control
LooperDeleteAll(LOOP_OrdersOfTheDay)
 
// Browse the orders of the day
FOR EACH Order WITH "OrderDate = '"+Today() + "' AND IsFinalized = 0"
 
// Finds the associated contact
HReadSeekFirst(CustomerContact, CustomerContactID, Order.CustomerContactID)
IF HFound(CustomerContact) = False THEN CONTINUE
 
// Adds a row into the Looper control
nIndex = LooperAddLine(LOOP_OrdersOfTheDay, Order.OrderID, ...
CustomerContact.Company, CustomerContact.LastName + ...
[" "] + CustomerContact.FirstName)
 
// Browses the order lines
FOR EACH OrdLine WITH OrderID = Order.OrderID
HReadSeekFirst(Product, ProductID, OrdLine.ProductID)
IF HFound(Product) = False THEN CONTINUE
 
// Add the ordered elements into the Table control
TableAddLine(LOOP_OrdersOfTheDay[nIndex].TABLE_Order, ...
Product.ProductID, Product.Caption, OrdLine.Quantity)
END
END
Para get una sintaxis más sencilla , la operación de llenado se puede realizar directamente en el código para mostrar fila de control Looper. En este caso, no es necesario especificar el índice del bucle principal. La sintaxis se convierte en:
TableAddLine(<Name of Table control>, <Element column 1>, <Element column 2>, ...)
Consejo: No olvide borrar la control Tabla en el código de visualización de un fila del control Looper, antes de que se rellene con TableDeleteAll.

Incluir un control en un control Looper

Para integrar otro control (List Box, TreeView, etc.) en el control Looper:
  1. Si es necesario, cree un control Looper: basado en un archivo de datos, basado en un Variable, o rellenado de forma programática.
  2. Inserte un control Ventana interna en el control Looper.
  3. Asegúrese de que "Contenido idéntico para todas las filas" no esté marcado (pestaña "UI" en description de control Ventana interna ).
  4. Crear una ventana interna si es necesario. Insertar la control (Gráfico, Cuadro de Lista, TreeView, etc.) en esta ventana interna. La control insertada debe rellenarse mediante programación.
  5. Asocie el control Ventana interna a la ventana interna (pestaña "General" en la descripción del control Ventana interna).
  6. Ahora se puede rellenar la control de forma programada.
Por ejemplo , TreeAdd se puede utilizar de la siguiente manera para completar un control TreeView que se encuentra en un control Looper:
TreeAdd(<Name of Looper control>[Row index].
<Name of Internal Window>.<Name of TreeView Control>, <Element to Add>)
Versión mínima requerida
  • Versión 16
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 03/10/2023

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