2010-09-14 204 views
2

我想遍歷DevExpress.XtraTreeList.TreeList的節點,它不工作。如何遍歷DevExpress.XtraTreeList.TreeList的節點

基本上我所擁有的就是我想要查找的節點的標題和值。有沒有簡單的方法我可以找到它。發現後,我只是將焦點轉移到新節點上,如果我有適當的索引,我已經知道如何做到這一點。

謝謝

回答

0

我結束了使用Queue然後通過使用的TreeList當前節點的​​去。

Dim text As String = "looking for this" 
Dim myQueue As New Queue 
For i As Integer = 0 To tree.Nodes.Count - 1 
    If tree.Nodes(i).GetDisplayText("name").Equals(text) Then 
      tree.SetFocusedNode(tree.Nodes(i)) 
      Exit Sub 
    Else 
      If tree.Nodes(i).HasChildren Then 
       myQueue.Enqueue(tree.Nodes(i)) 
      End If 
    End If 
Next 

While myQueue.Count > 0 
    Dim tempNode As DevExpress.XtraTreeList.Nodes.TreeListNode = CType(myQueue.Dequeue, DevExpress.XtraTreeList.Nodes.TreeListNode) 
    For i As Integer = 0 To tempNode.Nodes.Count - 1 
      If tempNode.Nodes(i).GetDisplayText("name").Equals(e.Button.Caption) Then 
       tree.SetFocusedNode(tempNode.Nodes(i)) 
       Exit Sub 
      Else 
       If tempNode.Nodes(i).HasChildren Then 
        myQueue.Enqueue(tempNode.Nodes(i)) 
       End If 
      End If 
    Next 
End While 
1

這樣的任務應該使用節點迭代器來實現。請參閱example

在這方面。該NodesIterator是我們的文檔中描述:

NodesIterator