Foros del Web » Programación para mayores de 30 ;) » .NET »

TreeView - Treeviewnodes - Modos de seleccion.

Estas en el tema de TreeView - Treeviewnodes - Modos de seleccion. en el foro de .NET en Foros del Web. Hola: estoy haciendo un treeview que me trae info organizanda en forma de arbol, la idea es que cada nodo tiene el checkbox al lado ...
  #1 (permalink)  
Antiguo 21/06/2007, 15:45
Avatar de pmuruaga  
Fecha de Ingreso: diciembre-2005
Mensajes: 127
Antigüedad: 18 años, 11 meses
Puntos: 0
TreeView - Treeviewnodes - Modos de seleccion.

Hola: estoy haciendo un treeview que me trae info organizanda en forma de arbol, la idea es que cada nodo tiene el checkbox al lado y al marcarlo me mostraria al lado la info referida a ese nodo o esos nodos (los seleccionados)
La idea es que al seleccionar un nodo padre los nodos hijos se seleccionen automaticamente, y al reves, si selecciono un nodo hijo los nodos padres y abuelos se deseleccionen, ya que no esta hecha completa la seleccion, se entiende?. Lo hare con un ejemplo para que me entiendan mejor.
Tengo 3 nodos. El primero autos, el segundo motos, y el tercero barcos.
Al expandir autos tengo marca1, y marca2, en motos tengo algo asi, y en barcos tengo un solo nodo que es titanic.
Al checkear autos, se tiene que seleccionar automaticamente todas las marcas, con todos los nodos hijos que tengan.
Al descheckear autos se desmarcan todas las marcas.
Eso va bien. El tema es que al marcar todos los autos expando todos los niveles, y voy al ultimo modelo de la marca1, (estan todos los autos marcados), y lo desmarco. autos ya no esta seleccionado completamente por lo que no tendria que aparecer como checked, tendria que destildarlo, de igual forma a marcas1.
Como puedo hacerlo? alguien tiene algun ejemplo, ayuda please.
  #2 (permalink)  
Antiguo 22/06/2007, 05:47
Avatar de Mysticaliptica  
Fecha de Ingreso: abril-2007
Ubicación: Guipuzcoa
Mensajes: 35
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: TreeView - Treeviewnodes - Modos de seleccion.

Aki tienes lo q hize yo en el evento Aftercheck

private void *tuTreeView*_AfterCheck(object sender, TreeViewEventArgs e)
{
if (e.Node.Checked == true)
{
e.Node.Expand();
for (int i = 0; i < e.Node.Nodes.Count; i++)
{
e.Node.Nodes[i].Checked = true;
}
}
else
{
for (int i = 0; i < e.Node.Nodes.Count; i++)
{
e.Node.Nodes[i].Checked = false;
}
}
}

Creo q es esto lo q preguntas.

Un saludo
  #3 (permalink)  
Antiguo 22/06/2007, 10:53
Avatar de pmuruaga  
Fecha de Ingreso: diciembre-2005
Mensajes: 127
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: TreeView - Treeviewnodes - Modos de seleccion.

Algo asi, mas o menos eso tengo hecho. Veamos si entendi bien:
Cuando vos chekeas se hace un bucle y recorre los nodos hijos chekeandolos, y si no lo desmarcas recorre los hijos desmarcandolos. Ahora dos preguntitas, si ese nodo hijo a su vez tiene otros subhijos funciona?, y la otra en un caso en que estan todos los nodos hijos marcados (obviamente el nodo padre tambien lo estará), si yo desmarco uno de los hijos no pasará nada, me parece, pues necesitaria que se desmarque el nodo padre. Y ahi se me arma lio, porque al desmarcarse el padre el evento de desmarcar se captura y se ejecuta lo de desmarcar todos los hijos y eso no quiero, quiero que queden todos los hijos seleccionados menos el que se desmarco y el padre, que no esta marcado porque no tiene todos los nodos hijos seleccionados. De igual forma muchisimas gracias, y si podes porfi ayudame a ver si sale esto.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:21.