2011-07-12 30 views
3

我需要在TreeView.TreeNodeExpanded事件中填充TreeNode.ChildNodes。問題是節點在事件被觸發前是空的,並且在這種情況下不能展開,並且沒有展開圖標[+]顯示在它旁邊。ASP.NET:如何創建可擴展的空TreeNode

我想使節點可展開,以防其相關對象有一些子節點而不將這些子節點添加到節點。

我曾考慮過向節點添加虛擬子節點,並在擴展時將其刪除。有沒有更好的選擇?

謝謝。

回答

3

三步做的伎倆:

1 - 設置TreeView.ExpandDepth至。這消除了在TreeView添加TreeNode物體的膨脹和示出了展開符號[+]旁邊具有TreeNode.PopulateOnDemand屬性設置爲真每個TreeNode

2-設置爲TreeNode.PopulateOnDemand每個分支TreeNode。當TreeNode.ChildNodes收集,擴展符號[+]將僅次於擁有TreeNode.PopulateOnDemand屬性設置爲真正TreeNode對象顯示。

3-處理TreeView.TreeNodePopulate事件以便在擴展時挖掘分支節點。 TreeNode - TreeNode.PopulateOnDemand設置爲true - 已在TreeView.TreeNodeExpanded事件啓動之前展開,此事件將被觸發。