2

DevExpress.XtraTreeList.TreeListのノードをトラバースしようとしていますが、機能していません。

基本的に私が持っているのは、探したいノードのキャプションと値だけです。私がそれを見つけることができる簡単な方法はありますか?それが見つかった後、私はフォーカスを新しいノードに移動しているだけであり、適切なインデックスがあればそれを行う方法をすでに知っています。

ありがとう

4

2 に答える 2

1

このようなタスクは、ノード イテレータを使用して実装する必要があります。この例を参照してください

この点について。NodesIterator については、ドキュメントで説明されています。

ノード反復子

于 2010-09-15T15:08:50.413 に答える
0

最終Queue的に a を使用してから、現在のノードの を使用して TreeList を調べましたtree.nodes

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
于 2010-09-16T14:13:22.157 に答える