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 programmatically
  • Example
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Collapsing/Expanding a TreeView programmatically
  • To collapse a TreeView control through programming use TreeCollapse.
  • To expand a TreeView through programming, use TreeListItem with a specific local procedure.
WINDEV Note: To efficiently populate a TreeView control, you can use the AddChildDelayed property on the rows of the control. This property is used to define the procedure that will be run to populate the level to br expanded. Child nodes are only retrieved and populated on demand.
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 programmatically:
    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 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
    PROCEDURE 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: 03/11/2025

Send a report | Local help