ASP.NET - Treeview. He conseguido expandir pero no contraer

   
Vista:

Treeview. He conseguido expandir pero no contraer

Publicado por Marcos (3 intervenciones) el 25/04/2008 12:29:46
Hola de Nuevo, sigo con mis problemas de Treeview, he conseguido expandir en un texto, pero no consigo que cuando se selecciona otro texto el anterior que se ha expandido se contraiga. ¿Cómo podía solucionar esto?

Por otro lado, me gustaría asignarle diferentes estilos css en los diferentes nodos, esto lo he conseguido cuando defino los levelstyles que al cargar cada uno tiene un estilo diferente, pero cuando se posiciona el puntero encima o se selecciona un nodo, tiene clase general para todos, sin diferenciarse los padres de los hijos, ¿esto se podría hacer?

Muchas gracias de nuevo por la lectura. 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:Treeview. He conseguido expandir pero no contra

Publicado por @vm (196 intervenciones) el 25/04/2008 18:12:29
OK, a los nodos ponles en la propiedad SelectAction el valor "Select", o de plano quitales esa propiedad ya que ese valor es el de por default.

SelectAction="Select"

y el TreeView tiene un evento que se llama SelectedNodeChanged,

<asp:TreeView ... OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" ... >

en ese evento usa este código y listo:

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
//Si el nodo tiene nodos hijos
if (TreeView1.SelectedNode.ChildNodes.Count > 0)
{
//Contraer todo
TreeView1.CollapseAll();

//Expander los nodos padre del nodo seleccionado
if (TreeView1.SelectedNode.Parent != null)
{
TreeNode trNodo = TreeView1.SelectedNode;
int TotalNodosPadre = trNodo.Depth;

for (int i = 1; i <= TotalNodosPadre; i++)
{
trNodo = trNodo.Parent;
trNodo.Expand();
}
}

//Expander nodo seleccionado
TreeView1.SelectedNode.Expand();
}
}
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