Treeview & Noder

.NET

4 svar · 283 visningar · startad av xcalibrate

Medlem sedan aug. 2002136 inlägg
Trådstart#1

Hej!
Jag har en treeview med dessa noder i VB.NET :

Karl
Magnus
Sven

Om strNickname är Magnus till exempel, vill jag lägga till en child under Magnus med strMessage. Hur gör jag detta?

Medlem sedan nov. 20022 355 inlägg
#2
treeView1.Nodes[1].Nodes.Add(strMessage);

Där 1:an är indexet som motsvarar platsen för magnus.

edit: Såg att det skulle vara i VB.NET:

treeView1.Nodes(1).Nodes.Add(strMessage)
Medlem sedan aug. 2002136 inlägg
#3

OKej tack! Hur får jag reda på vilken som är vilken. Alltså te.x. att Magnus är 1? Asså inte bara att kolla.. eftersom jag bara vet strNickname är Magnus.. Sen vill jag kolla vilket index Magnus är. Gör jag det genom att göra en for-sats?

Medlem sedan nov. 20022 355 inlägg
#4

Ja, du kan använda for-satsen, så länge du vet hur djupt du ska kolla annars får du nog använda en rekursiv funktion. I detta fallet är det ju endast ett djup på två.

for (int i=0;i<treeView1.Nodes.Count;i++)
    if (treeView1.Nodes[i].Text == "något")
        //här kan du även lägga in så du kan ta ut ditt index etc.
        treeView1.Nodes[i].Nodes.Add("något annat");

Är det det du menar?

Medlem sedan aug. 2002136 inlägg
#5

Jag fixade det själv:

Function CheckWhatIdInTreeView(ByVal strNickname As String)
    Dim i As Integer

    For i = 0 To myForm2.TreeView1.Nodes.Count - 1
        If myForm2.TreeView1.Nodes.Item(i).Text = strNickname Then
            Return myForm2.TreeView1.Nodes.Item(i).Index
        End If
    Next
End Function
254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)