Visual Basic.NET - Obtener nodo padre en Treeview

 
Vista:

Obtener nodo padre en Treeview

Publicado por Isabel (2 intervenciones) el 26/10/2006 14:22:56
Hola, estoy trabajando con un treeview.

Lo que me gustaria saber es como pinchando en un nodo saber cual es su padre. Solo estoy trabajando a dos niveles, es decir, que no necesitaria saber cual es el padre Raiz porque ya lo será el propio padre.

Suponiendo que estoy trabajando con datos de marcas de coches, me gustaria saber que el pinchar sobre el nodo que indica un modelo en particular, saber cual es el nodo padre (el que contiene la MARCA de dicho modelo).

Muchas gracias por vuestra ayuda.

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Obtener nodo padre en Treeview

Publicado por Bernardo (2 intervenciones) el 27/10/2006 14:45:43
a ver si te puedo ayudar con esto
he metido código y explicaciones
si tienes dudas puedes recurrir a mi correo

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim ncount As Integer

'Añade el primer padre y sus hijos"
TreeView1.Nodes.Add("seat")
TreeView1.Nodes(0).Nodes.Add("arosa")
TreeView1.Nodes(0).Nodes.Add("ibiza")
TreeView1.Nodes(0).Nodes.Add("toledo")
TreeView1.Nodes(0).Nodes.Add("leon")

'Asignamos al primer padre una etiqueta identificativa
TreeView1.Nodes(0).Tag = "spadre"

'En a almacenamos la cantidad de hijos que tiene el primer padre
Dim a As Int16 = TreeView1.Nodes(0).GetNodeCount(False)

'A cada uno de los hijos del primer padre le asignamos la misma etiqueta que les identifica como hijos
For ncount = 0 To a - 1
TreeView1.Nodes(0).Nodes(ncount).Tag = "shijo"
Next

'Añade el segundo padre y sus hijos"
TreeView1.Nodes.Add("citröen")
TreeView1.Nodes(1).Nodes.Add("c2")
TreeView1.Nodes(1).Nodes.Add("c3")
TreeView1.Nodes(1).Nodes.Add("c4")
TreeView1.Nodes(1).Nodes.Add("c5")

'Asignamos al segundo padre una etiqueta identificativa
TreeView1.Nodes(1).Tag = "cpadre"

'En b almacenamos la cantidad de hijos que tiene el segundo padre
Dim b As Int16 = TreeView1.Nodes(1).GetNodeCount(False)

'A cada uno de los hijos del segundo padre le asignamos la misma etiqueta que les identifica como hijos
For ncount = 0 To b - 1
TreeView1.Nodes(1).Nodes(ncount).Tag = "chijo"
Next

End Sub

Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect

'Según donde esté situado el cursor obtendremos la etiqueta de un padre o de un hijo
Select Case e.Node.Tag

'En el caso de que el nodo seleccionado sea un hijo del primer padre visualizamos
'en un label el nombre del padre y salimos del evento porque nunca pueden seleccionarse dos nodos a la vez
Case "shijo"
Label1.Text = e.Node.Parent.Text
Exit Sub

'En el caso de que el nodo seleccionado sea un hijo del segundo padre visualizamos
' en un label el nombre del padre y salimos del evento porque nunca puede seleccionarse dos nodos a la vez
Case "chijo"
Label1.Text = e.Node.Parent.Text
Exit Sub

'En el caso de que el nodo seleccionado sea un padre, visualizaremos en un label su nombre
Case Else
Label1.Text = e.Node.Text
End Select
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener nodo padre en Treeview

Publicado por Isabel (2 intervenciones) el 30/10/2006 19:23:16
Muchisimas gracias por tu ayuda!! he entendido todo perfectamente ;)

Un millon de gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar