我正在尝试构建一个动态树视图,当用户点击其中一个时,会填充该树视图。在我的数据库中,我有像父和子一样工作的记录,所以记录有链接到它的父记录并链接到它的所有子记录(我认为数据库的工作方式不相关,所以我不打算解释)。问题是一些记录可能有多达1000000个子记录,因为您可以看到一次加载所有这些记录可能会导致一些问题,因为您可能会同时加载数百万个节点。
所以我想知道是否有人在树视图上有一些goof教程。
答案 0 :(得分:3)
1 - 将TreeView.ExpandDepth
设置为0
。这消除了TreeView中添加的TreeNode对象的扩展,并显示了将TreeNode.PopulateOnDemand属性设置为true的每个TreeNode旁边的扩展符号[+]。
2-为每个分支TreeNode设置TreeNode.PopulateOnDemand
到True
。当TreeNode.ChildNodes
集合为空时,扩展符号[+]将仅显示在TreeNode.PopulateOnDemand
属性设置为true
的TreeNode对象旁边。
3-处理TreeView.TreeNodePopulate
事件以在扩展时对分支节点进行处理。当TreeNode(TreeNode.PopulateOnDemand
设置为true
- 在TreeView.TreeNodeExpanded事件被触发之前被扩展时,将触发此事件。