ASP.NET:如何创建可扩展的空TreeNode

时间:2011-07-12 08:09:24

标签: c# asp.net treeview treenode

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

我想让节点可扩展,以防它的相关对象有一些子节点而不将这些子节点添加到节点。

我考虑过向节点添加虚拟子节点,并在展开时删除它。还有更好的选择吗?

谢谢。

3 个答案:

答案 0 :(得分:3)

实现这一诀窍的三个步骤:

1 - 将TreeView.ExpandDepth设置为 0 。这消除了TreeNode中已添加的TreeView对象的扩展,并显示了TreeNode旁边具有TreeNode.PopulateOnDemand的扩展符号 [+] } property设置为 true

2-为每个分支 TreeNode设置TreeNode.PopulateOnDemand True 。当TreeNode.ChildNodes集合为空时,扩展符号 [+] 将仅显示在TreeNode TreeNode.PopulateOnDemand对象的旁边属性设置为 true

3-处理TreeView.TreeNodePopulate事件以在扩展时对分支节点进行处理。当TreeNode - TreeNode.PopulateOnDemand设置为 true - 已在TreeView.TreeNodeExpanded事件被触发之前展开时,将触发此事件。

答案 1 :(得分:0)

我建议编辑节点的模板。看看An ASP.NET AJAX TreeView control with templates

答案 2 :(得分:0)

不确定并且没有时间尝试,但我猜你所追求的是TreeNode.PopulateOnDemand属性和TreeView.TreeNodePopulate事件。