AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Propiedades WLanguage / Propiedades de ventanas, páginas y controles
  • Modo de funcionamiento
  • Casos especiales
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
La propiedad AddChildDelayed indica el procedimiento a llamar cuando se hace clic en una fila de un control TreeView o Tabla TreeView para que se expanda. Este procedimiento rellena solo las ramas expandidas.
Esto optimiza el procedimiento de relleno del control.
Observación: Para optimizar la forma en que se rellenan los controles TreeView y Tabla TreeView basados en un archivo de datos, seleccione la opción "Relleno aplazado de los subniveles (más rápido)" en la pestaña "Contenido" de la ventana de descripción del control.
Ejemplo
sDir is string = fListDirectory("C:", frNotRecursive)
FOR EACH STRING sADir OF sDir SEPARATED BY CR
nLine is int = TableAddLine(TVT_Explorer, sADir)
// If this directory has children
sChild is string = fListDirectory(sADir, frNotRecursive)
IF sChild <> "" THEN
// Call to the AddDirectory procedure
// when the user clicks [+]
TVT_Explorer[nLine].AddChildDelayed = AddDirectory
END
END
PROCEDURE AddDirectory(sParentID is string)
nIndex is int
 
sParentDir is string = TVT_Explorer.COL_NoName1[sParentID]
sParentDir = Replace(sParentDir, TAB, fSep())
sDirList is string = fListDirectory(sParentDir, frNotRecursive)
nIndex = Val(sParentID) + 1
nIndex2 is int = nIndex
FOR EACH STRING sDir OF sDirList SEPARATED BY CR
sID is string = Replace(sDir, "\", TAB)
TableAddChild(TVT_Explorer, nIndex-1, sDir)
sSubDirList is string = fListDirectory(sDir, frNotRecursive)
IF sSubDirList <> "" THEN
TVT_Explorer[nIndex2].AddChildDelayed = AddDirectory
END
nIndex2 = nIndex2 + 1
END
Sintaxis

Modificar el procedimiento a ejecutar Ocultar los detalles

<Element>.AddChildDelayed = <WLanguage procedure>
<Element>: Cadena de caracteres
Fila del control TreeView o Tabla TreeView a utilizar.
<WLanguage procedure>: Nombre de procedimiento
Nombre del procedimiento WLanguage a ejecutar al hacer clic en el elemento.
Para controles TreeView, el procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<ParentPath> is string)
donde <ParentPath> corresponde a la ruta completa de la fila a expandir.
Para controles Tabla TreeView, el procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<ParentID> is int)
donde <ParentID> corresponde al número de la fila a expandir.
Si este parámetro es una cadena vacía (""), no se asociará ningún procedimiento al elemento.
Observaciones

Modo de funcionamiento

Si la propiedad AddChildDelayed corresponde al nombre de un procedimiento:
  • se muestra un signo "+" en la fila del control.
  • la primera vez que el usuario intenta expandir la fila (haciendo clic en el signo "+", por ejemplo), se llama al procedimiento, lo que permite añadir elementos hijos. Luego, se expande la rama.
    Si no se añade ningún elemento hijo, el signo "+" se elimina del elemento.
Una vez que se ha ejecutado el procedimiento (rellenado la rama), se asigna una cadena vacía a la propiedad AddChildDelayed: no se volverá a ejecutar.

Casos especiales

  • El procedimiento especificado se ejecutará ANTES del evento "Contracción/Expansión de un nodo" del control.
  • Cuando se llama a las funciones TableExpand o TreeExpand, si la rama especificada tiene un procedimiento asociado mediante la propiedad AddChildDelayed, este procedimiento se ejecutará.
  • Cuando se llama a las funciones TableExpandAll o TreeExpandAll, si la rama especificada y/o uno de sus hijos tiene un procedimiento asociado mediante la propiedad AddChildDelayed, este procedimiento se ejecutará.
Versión mínima requerida
  • Versión 19
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 26/10/2022

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