Я заполняю древовидное представление динамически, поэтому я не знаю количества уровней, которые у меня могут быть.VB.Net Treeview «Откат»
Есть ли способ откат к предыдущему уровню? Вот пример моего кода:
Private Sub RecursiveTreeAssembly(FileName As String, node As TreeNodeCollection)
'Sets sFileNamePath to correct path value
FileNameToFilePath(FileName)
'Start SolidEdge
StartSolidEdge()
'Open document
OpenSolidEdgeDocument(sFileNamePath)
'Get the parts list for the opened document (FileName)
partList = clsPartInformation.GetAll()
'Populate tree View
If partList.Count > 0 Then
'PartsList retrieved, close document
CloseSolidEdgeDocument(FileName)
'Go through all part lists and display them in tree view
For i As Integer = 0 To partList.Count - 1
'Is it Assembly, Parametric, Material, Part to buy
If IsAssembly(partList(i).Part_No) Then
node(iterator).Nodes.Add(partList(i).Part_No)
ElseIf IsMaterial(partList(i).Part_No) Then
node(iterator).Nodes.Add(partList(i).Part_No)
ElseIf IsPart(partList(i).Part_No) Then
node(iterator).Nodes.Add(partList(i).Part_No)
End If
tvDessins.ExpandAll()
Next
End If
'Go through tree view to populate it
While iterator < tvDessins.Nodes(0).Nodes.Count
If rollback Then
node = tvDessins.Nodes
currFileName = node(0).Nodes.Item(iterator).Text
Else
currFileName = node(iterator).Nodes.Item(0).Text
End If
If IsAssembly(currFileName) Then
rollback = False
'Call itself again
RecursiveTreeAssembly(currFileName, node(0).Nodes)
Else
'Rollback nodes
rollback = True
End If
iterator += 1
End While
End Sub
tvDessin - мое дерево. В следующем коде я буду выполнять итерацию через древовидное представление, которое рекурсивно решает некоторые элементы. Мой список деталей содержит номер детали, который отлично работает.
Именно во время моего откате, что я поставил узлы дерева к началу: узел = tvDessins.Nodes
Вместо того, чтобы просто пойти на родительский узел ... Это то, что я ищу, чтобы достичь!
Спасибо, извините за такой длинный пост.