ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Developing an application or website / Controls, windows and pages / Controls: Available types / TreeView control
  • Collapsing/Expanding a TreeView through programming
  • Example
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Collapsing/Expanding a TreeView through programming
  • To collapse a TreeView control through programming use TreeCollapse.
  • To expand a TreeView through programming, use TreeListItem with a specific local procedure.
WINDEV Remark: To properly fill a TreeView control, you can use the AddChildDelayed property on the rows of the TreeView control. This property is used to define the procedure that will be run to fill the level to expand. The search for children and the fill of children are performed only when the user wants to see them.
Example
The following codes are used to:
  • initialize a TreeView control.
  • expand part of the TreeView control.
  • collapse the TreeView control.
  1. Initialize the TreeView control by programming:
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert", "CAKE-.BMP", "CAKE-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Ice cream")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Ice cream" + ...
    TAB + "Vanilla", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Ice cream" + ...
    TAB + "Strawberry", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Ice cream" + ...
    TAB + "Chocolate", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Cup")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Cup" + ...
    TAB + "Banana Split", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Cup" + ...
    TAB + "Cherry Garcia", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Cup" + ...
    TAB + "Colonel", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Apple pie")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Apple pie" + ...
    TAB + "with whipped cream", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Apple pie" + ...
    TAB + "with apple brandy", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Crème brûlée", "NEXT5-.BMP")
    TreeAdd(TREE_TVRecipe, "Recipe" + TAB + "Dessert" + TAB + "Meringue with cream", "NEXT5-.BMP")
  2. Expand all the elements: The "ExpandAll" procedure is called for each "child" element found. This procedure expands all the collapsed "child" nodes of the "Dessert" node.
    // Lists the "children" of "Desserts" node in "TREE_TVRecipe" treeview
    // The "ExpandAll" procedure is called
    // for each "child" of "Desserts" node found
    Res = TreeListItem(TREE_TVRecipe, "Recipe" + TAB + "Dessert", "ExpandAll")
    // Local procedure named "ExpandAll"
    // This procedure expands all the collapsed "child" nodes of the "Desserts" node
    PROCÉDURE ExpandAll(TREE_TVRecipe, ChildPath, ChildFound, Level, Pointer)
    // Is the element found a leaf?
    IF TreeTypeItem(TREE_TVRecipe, ChildPath + ChildFound) = tvLeaf THEN
    RETURN  // Back to TreeListItem
    ELSE
    // Is the element found collapsed?
    IF TreeStatus(TREE_TVRecipe, ChildPath + ChildFound) = tvCollapse THEN
    TreeExpand(TREE_TVRecipe, ChildPath + ChildFound)
    END
    END
  3. Collapse the "Dessert" node.
    // Collapses the "Desserts" node in the "TREE_TVRecipe" control
    Res = TreeCollapse(TREE_TVRecipe, "Recipe" + TAB + "Dessert")
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 05/26/2022

Send a report | Local help