3
在Infragistics UltraTree中,如何選擇根目錄下的所有節點?UltraTree Infragistics - 選擇所有節點
在Infragistics UltraTree中,如何選擇根目錄下的所有節點?UltraTree Infragistics - 選擇所有節點
據我所知,沒有辦法選擇所有節點。但是,你可以建立自己的這樣的:
Queue<UltraTreeNode> queue = new Queue<UltraTreeNode>(ultraTree1.Nodes);
while (queue.Count > 0)
{
UltraTreeNode node = queue.Dequeue();
foreach(UltraTreeNode child in node.Nodes)
queue.Enqueue(child);
node.Selected = true;
}
一個用於這個可能的修改是使用產量回歸語句來提供所有的樹節點爲枚舉集合:
private IEnumerable<UltraTreeNode> AllTreeNodes()
{
Queue<UltraTreeNode> queue = new Queue<UltraTreeNode>(ultraTree1.Nodes.OfType<UltraTreeNode>());
while (queue.Count > 0)
{
UltraTreeNode node = queue.Dequeue();
foreach (UltraTreeNode child in node.Nodes)
queue.Enqueue(child);
yield return node;
}
}
然後你可以貫穿每個物品並做任何你想要的處理(不管是標記它們還是其他選擇):
foreach (var node in AllTreeNodes())
{
// Take whatever action is needed
//
node.Selected = true;
}