我需要在TreeNode.ChildNodes事件中填充TreeView.TreeNodeExpanded。问题在于事件触发前该节点为空,在这种情况下该节点不可扩展,并且其旁边没有显示扩展图标[+]。

我想使该节点可扩展,以防其相关对象有一些子节点而不将那些子节点添加到节点中。

我考虑过将虚拟子节点添加到节点,并在扩展时将其删除。有没有更好的选择?

谢谢。

最佳答案

完成此技巧的三个步骤:

1-将TreeView.ExpandDepth设置为0。这消除了TreeNode中添加的TreeView对象的扩展,并在每个TreeNodeTreeNode.PopulateOnDemand属性设置为true的旁边显示扩展符号[+]。 。

2-将每个分支TreeNodeTreeNode.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/

10-13 06:24