我需要在TreeView.TreeNodeExpanded
事件中填充TreeNode.ChildNodes
。問題是節點在事件被觸發前是空的,並且在這種情況下不能展開,並且沒有展開圖標[+]顯示在它旁邊。ASP.NET:如何創建可擴展的空TreeNode
我想使節點可展開,以防其相關對象有一些子節點而不將這些子節點添加到節點。
我曾考慮過向節點添加虛擬子節點,並在擴展時將其刪除。有沒有更好的選擇?
謝謝。
我需要在TreeView.TreeNodeExpanded
事件中填充TreeNode.ChildNodes
。問題是節點在事件被觸發前是空的,並且在這種情況下不能展開,並且沒有展開圖標[+]顯示在它旁邊。ASP.NET:如何創建可擴展的空TreeNode
我想使節點可展開,以防其相關對象有一些子節點而不將這些子節點添加到節點。
我曾考慮過向節點添加虛擬子節點,並在擴展時將其刪除。有沒有更好的選擇?
謝謝。
三步做的伎倆:
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
事件啓動之前展開,此事件將被觸發。
我建議編輯節點的模板。看看An ASP.NET AJAX TreeView control with templates。
不確定和沒有時間嘗試,但我猜你以後是TreeNode.PopulateOnDemand財產和TreeView.TreeNodePopulate事件。
我知道那部分..我需要在填充它的項目之前使'TreeNode'擴展,如果它有一些。 –