我需要在TreeNode.ChildNodes
事件中填充TreeView.TreeNodeExpanded
。问题在于事件触发前该节点为空,在这种情况下该节点不可扩展,并且其旁边没有显示扩展图标[+]。
我想使该节点可扩展,以防其相关对象有一些子节点而不将那些子节点添加到节点中。
我考虑过将虚拟子节点添加到节点,并在扩展时将其删除。有没有更好的选择?
谢谢。
最佳答案
完成此技巧的三个步骤:
1-将TreeView.ExpandDepth设置为0。这消除了TreeNode
中添加的TreeView
对象的扩展,并在每个TreeNode
的TreeNode.PopulateOnDemand
属性设置为true的旁边显示扩展符号[+]。 。
2-将每个分支TreeNode
的TreeNode.PopulateOnDemand设置为True。当TreeNode.ChildNodes
集合为空时,扩展符号[+]将仅显示在将TreeNode
属性设置为true的TreeNode.PopulateOnDemand
对象旁边。
3-处理TreeView.TreeNodePopulate事件以在扩展时填充分支节点。当将TreeNode
设置为true的TreeNode.PopulateOnDemand
-在触发TreeView.TreeNodeExpanded
事件之前被展开时,将触发此事件。
关于c# - ASP.NET:如何创建可扩展的空TreeNode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6661192/