Jeg er ikke så skarp ud i VB.Net, men jeg har lavet en løsning i C#. Oversat til VB.Net skulle det give:
Private Sub Test() Dim testdata As String = "TOP.MAIN.MIDDLE.1;" & "TOP.MAIN.MIDDLE.2;" & "TOP.MAIN.MIDDLE.3;" & "TOP.MAIN.MIDDLE.4;" & "TOP.MAIN.MIDDLE.5;" & "TOP2.MAIN2.MIDDLE.1;" & "TOP2.MAIN2.MIDDLE.2;" & "TOP2.MAIN2.MIDDLE.3;" & "TOP2.MAIN3.MIDDLE.1;" & "TOP2.MAIN3.MIDDLE.2" Dim input As String() = testdata.Split(";"C)
For Each data As String In input ParseNodeLine(data) Next End Sub
Private Sub ParseNodeLine(line As String) Dim data As String() = line.Split("."C) Dim parent As TreeNode = Nothing For i As Integer = 0 To data.Length - 1 If i = 0 Then If Not treeView1.Nodes.ContainsKey(data(i)) Then treeView1.Nodes.Add(data(i), data(i)) End If parent = treeView1.Nodes(data(i)) Else If Not parent.Nodes.ContainsKey(data(i)) Then parent = parent.Nodes.Add(data(i), data(i)) Else parent = parent.Nodes(data(i)) End If End If Next End Sub
Tak til spotgun, det var lige det jeg manglede. IT-Guffe tak for det, men den anden løsning er bedre da jeg kan sætte flere punktummer uden at lave koden om.
Lav et nyt spørgsmål med titlen "Point til Spotgun" og et link til dette spørgsmål, så lægger jeg et svar til dig der.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.