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 / ¿Cómo proceder? / Programación
  • Presentación
  • Método 1: Clonación de columnas
  • Método 2: Creación de las columnas
  • Uso de la nueva columna
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
¿Cómo clonar y usar columnas en una control Tabla?
Presentación
En algunos casos, un control Tabla debe ser llenado con un número desconocido de columnas (al crear el control). Se pueden utilizar dos métodos para construir dinámicamente columnas en una control Tabla:
Método 1: Clonación de columnas
ControlClone se utiliza para Clone( duplicar) un control existente para crear un copy. Esta función también se puede utilizar en una columna que se encuentra en un control Tabla. La nueva columna se añade automáticamente al final de las columnas existentes.
Para crear una nueva columna:
  1. Crear un control Tabla.
  2. En la control Tabla, defina la columna que se utilizará como "modelo para la clonación"..
  3. Borrar el contenido de control Tabla (TableDeleteAll).
  4. Borrar las columnas clonadas anteriores (ControlDelete).
  5. Crear las nuevas columnas (ControlClone).
  6. Llenar el control Tabla con datos.
Ejemplo de código:
NbFixedColumns is int
NbNewColumns is int
 
NewColumnName is string
 
 
// Clear the table
TableDeleteAll(TABLE_YearlyStat)
 
 
// Delete the previous cloned columns
NbFixedColumns = 3 // for example, 2 fixed columns + the column to clone
 
FOR nIndex = TableCount(TABLE_YearlyStat,toColumn) TO NbFixedColumns STEP -1
ControlDelete(TableEnumColumn(TABLE_YearlyStat, nIndex))
END
 
// Clone the new columns
NbNewColumns = 5 // we want 5 new columns for example
FOR nIndex = 1 TO NbNewColumns
// Build the name of the new column
NewColumnName = "COL_" + nIndex
// Create the new column by cloning
ControlClone(COL_Template, NewColumnName)
 
// Modify the header caption of new column
{NewColumnName, indControl}..Caption = "Column " + nIndex
 
END
 
// Fill the Table control...
 
// Put your code for filling the table here
Atención:
  • Las columnas deben ser clonadas antes de llenar el control Tabla.
  • Dos columnas no pueden tener el mismo nombre.
Método 2: Creación de las columnas
ControlCreate permite crear un control sin tener que utilizar un modelo. Esta función también se puede utilizar en una columna que se encuentra en un control Tabla. La nueva columna se añade automáticamente al final de las columnas existentes.
Para crear una nueva columna:
  1. Crear un control Tabla.
  2. Borrar el contenido de control Tabla (TableDeleteAll).
  3. Borrar las columnas creadas anteriormente (ControlDelete).
  4. Crear las nuevas columnas (ControlCreate).
  5. Llenar el control Tabla con datos.
Ejemplo de código:
NewColumn is Control
 
NbFixedColumns is int
NbNewColumns is int
 
NewColumnName is string
 
 
// Clear the table
TableDeleteAll(TABLE_YearlyStat)
 
 
// Delete the previous created columns
NbFixedColumns = 3 // for example, 2 fixed columns + the column to create
 
 
FOR nIndex = TableCount(TABLE_YearlyStat, toColumn) TO NbFixedColumns STEP -1
ControlDelete(TableEnumColumn(TABLE_YearlyStat, nIndex))
END
 
// Create the new columns
NbNewColumns = 5 // we want 5 new columns for example
FOR nIndex = 1 TO NbNewColumns
// Build the name of the new column
NewColumnName = TABLE_YearlyStat.Name + ".COL_" + nIndex
// Create the new column by creation
NewColumn <- ControlCreate(NewColumnName, typColumn)
 
// Modify the header caption of new column
NewColumn.Caption = "Column" + nIndex
END
 
// Fill the Table control...
// Put your code for filling the table here
Atención:
  • Las columnas deben crearse antes de rellenar la ficha control Tabla.
  • Dos columnas no pueden tener el mismo nombre.
Uso de la nueva columna
Se pueden utilizar dos métodos para manipular la columna creada:
  • los operadores indirectos { }. Para obtener más información, consulte Operadores indirectos.
  • el nombre de la nueva columna, método válido sólo si la columna fue creada por ControlCreate.
Versión mínima requerida
  • Versión 22
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 30/10/2022

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