Infragistics UltraTree에서 어떻게 루트 아래에있는 모든 노드를 선택할 수 있습니까?UltraTree Infragistics - 모든 노드 선택
3
A
답변
3
내가 아는 한, 모든 노드를 선택하는 방법은 없습니다. 그러나이 같은 자신을 구축 할 수 있습니다 : 다음
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;
}
}
당신이에 대한
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;
}
0
한 가지 가능한 수정이 열거 컬렉션으로 모든 트리 노드를 제공하기 위해 수율 반환 문을 사용하는 것입니다 각 항목을 실행하고 원하는 처리 (선택 항목 또는 다른 항목으로 표시)를 수행 할 수 있습니다.
foreach (var node in AllTreeNodes())
{
// Take whatever action is needed
//
node.Selected = true;
}