PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Presentación
  • ¿Cómo proceder?
  • Incluir una control Tabla en una control Looper
  • Incluir un control en una control Looper
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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 tiene que hacer es insertarlo directamente en el control Looper.
  • Si el control a repetir es otro tipo de control (control List Box, control TreeView,...), todo lo que tiene que hacer es insertar este control en una ventana interna.. A continuación, todo lo que tiene que hacer es crear la control Ventana interna asociada en el control Looper.
Observación: Los controles de Tabla, los controles de Gráfico o los controles de la ventana interna deben ser llenados por programación.
¿Cómo proceder?

Incluir una control Tabla en una control Looper

Para incluir una control Tabla en una control Looper:
  1. Cree un control Looper si es necesario (looper de navegación, looper de memoria o looper en la fuente).
  2. Insertar el control Tabla en el control Looper. La control Tabla debe ser llenada por programación.
  3. Asegúrate de que "Contenido idéntico para todas las filas" esté desmarcado (pestaña "UI" en la ventana de descripción del control Tabla).
  4. La control Tabla se puede llenar ahora por programación.
La control Tabla que se encuentra en el control Looper se puede rellenar utilizando TableAddLine según el siguiente método:
TableAddLine(<Name of Looper Control>[Row Subscript].<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 el 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
nSubscript 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
nSubscript = 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[nSubscript].TABLE_Order, ...
Product.ProductID, Product.Caption, OrdLine.Quantity)
END
END
To obtener una sintaxis más fácil, la operación de llenado se puede realizar directamente en el código para la visualización de un fila de control Looper. En este caso, no es necesario especificar la índice del looper principal.. La sintaxis se convierte en:
TableAddLine(<Name of Table control>, <Element column 1>, <Element column 2>, ...)
Consejo: En el código de visualización de un fila del control Looper, no olvide borrar el control Tabla antes de que sea llenado por TableDeleteAll.

Incluir un control en una control Looper

Para incluir otro control (list box, vista en árbol,...) en el control Looper:
  1. Cree un control Looper si es necesario (looper de navegación, looper de memoria o looper en la fuente).
  2. Inserte un control Ventana interna en el control Looper.
  3. Asegúrate de que "Contenido idéntico para todas las filas" esté desmarcado (pestaña "UI" en la descripción del control Ventana interna).
  4. Crear una ventana interna si es necesario. Insertar el control (gráfico, list box, vista en árbol,...) en esta ventana interna.. El control insertado debe ser llenado por programación.
  5. Asociar la control Ventana interna con la ventana interna (pestaña"General" en la descripción de control Ventana interna).
  6. Ahora el control puede ser llenado por programación.
For ejemplo, TreeAdd se puede utilizar de la siguiente manera para rellenar un control TreeView que se encuentra en un control Looper:
TreeAdd(<Name of Looper Control>[Row Subscript].
<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