Is there a way to force TreeView
to load data on demand? In the other hand TreeView
m开发者_运维技巧ust load data only when a node is to be expanded. TreeView
is binded to a collection of data that is implementing IHierarchyData
.
Three steps to do the trick:
1 - Set the TreeView.ExpandDepth to 0. This eliminates the expansion of the added TreeNode
objects in the TreeView
and shows the expansion symbol [+] next to each TreeNode
that has the TreeNode.PopulateOnDemand
property set to true.
2- Set the TreeNode.PopulateOnDemand to True for each branch TreeNode
. When the TreeNode.ChildNodes
collection is empty, the expansion symbol [+] will be showed only next to TreeNode
objects that has TreeNode.PopulateOnDemand
property set to true.
3- Handle the TreeView.TreeNodePopulate event to poulate branch nodes on expansion. This event will be fired when a TreeNode
- with the TreeNode.PopulateOnDemand
set to true - has been expanded right before the TreeView.TreeNodeExpanded
event gets fired.
Or you can just populate your tree based on the different events available instead of loading your whole tree at once
精彩评论