Evento Expand de TreeView
Moderador: Moderadores
Evento Expand de TreeView
Hola!
Estoy usando un control TreeView para mostrar un mapa de sitio, lo que ocupo saber es como funciona el evento Expand de dicho control, lo que sucede es que ya lo agregué con ciertas intrucciones pero nunca entra y se supone debe de entrar cuando expando un nodo, pero no lo hace.
Si alguien me puede ayudar con este problemilla, se los agradecería mucho.
Saludos!!
Estoy usando un control TreeView para mostrar un mapa de sitio, lo que ocupo saber es como funciona el evento Expand de dicho control, lo que sucede es que ya lo agregué con ciertas intrucciones pero nunca entra y se supone debe de entrar cuando expando un nodo, pero no lo hace.
Si alguien me puede ayudar con este problemilla, se los agradecería mucho.
Saludos!!
Hola!
Mira, tal vez no me expliqué muy bien. En una aplicación web asp .net con c# tengo un control treeview en una forma .aspx, ya llené dinámicamente los nodos padre del treeview usando código en c#, los datos los obtengo de una bd, ahora lo que me hace falta es que cuando el usuario de un clic sobre un nodo padre se haga una consulta a la bd y me traiga los hijos de ese nodo y poder desplegarlos, busqué documentación y según eso lo puedo hacer en el evento Expand del componente, ya lo hice pero no funciona, ni siquiera entra a ese evento cuando doy clic en un nodo padre, a lo mejor estoy usando un evento que no es el adecuado o tal vez me falta alguna directiva o algo así.
El control exactamente es Microsoft.Web.UI.WebControls.TreeView.
Otra cosa muy importante es que apenas estoy adentrandome a esto del .net así que no tengo muchos conceptos muy claros, te pido y me tengas poquita paciencia por favor!!
Muchas gracias y saludos!
Mira, tal vez no me expliqué muy bien. En una aplicación web asp .net con c# tengo un control treeview en una forma .aspx, ya llené dinámicamente los nodos padre del treeview usando código en c#, los datos los obtengo de una bd, ahora lo que me hace falta es que cuando el usuario de un clic sobre un nodo padre se haga una consulta a la bd y me traiga los hijos de ese nodo y poder desplegarlos, busqué documentación y según eso lo puedo hacer en el evento Expand del componente, ya lo hice pero no funciona, ni siquiera entra a ese evento cuando doy clic en un nodo padre, a lo mejor estoy usando un evento que no es el adecuado o tal vez me falta alguna directiva o algo así.
El control exactamente es Microsoft.Web.UI.WebControls.TreeView.
Otra cosa muy importante es que apenas estoy adentrandome a esto del .net así que no tengo muchos conceptos muy claros, te pido y me tengas poquita paciencia por favor!!

Muchas gracias y saludos!
mejorando
ya estamo mejorando...
aca la paciencia es lo que sobra jajajajaja
por lo menos ya nos aclaraste en que lenguaje esta trabajando y bajo que plataforma.... gracias!!!!
pero lo que no pones es codigo....
como se si esta bien o mal tu codigo...
y otra cosa... no probaste ponerlo en el evento click....
saludos...
p/d: esperamos codigo suerte!!!
aca la paciencia es lo que sobra jajajajaja
por lo menos ya nos aclaraste en que lenguaje esta trabajando y bajo que plataforma.... gracias!!!!
pero lo que no pones es codigo....
como se si esta bien o mal tu codigo...
y otra cosa... no probaste ponerlo en el evento click....
saludos...
p/d: esperamos codigo suerte!!!
Código TreeView_Expand
Hola de nuevo!!
Aqui está el código en c# que tengo dentro del evento Expand del treeview.
private void TreeView1_Expand(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{
//Despliega nodos hijos
string strConn = @"data source=..\..; initial catalog=Foros;password=internet;user id=internet";
string strConsMsg;
SqlConnection conn;
SqlDataAdapter cmd;
DataSet ds;
TreeNode nodoPadre = new TreeNode();
//nodoPadre = sender.nodes(e.Node.ToString());
/* Aqui me falta saber bien cual es el equivalende esta intrucción de VB en C# para asignar el nodo seleccionado a la variable nodoPadre que sirve para buscar los hijos */
if ( nodoPadre.Nodes.Count == 0 )
{
conn = new SqlConnection(strConn);
ds = new DataSet();
conn.Open();
strConsMsg = "SELECT tblMensajes.Message FROM tblMensajes INNER JOIN tblUsuarios ON tblMensajes.UserName"+
"= tblUsuarios.UserName WHERE tblUsuarios.UserName= '"+nodoPadre.NodeData.ToString()+"' ORDER BY tblMensajes.Message";
cmd = new SqlDataAdapter(strConsMsg, conn);
cmd.Fill(ds, "Mensajes");
foreach(DataRow rowHijo in ds.Tables["Mensajes"].Rows)
{
TreeNode nodoHijo = new TreeNode();
nodoHijo.Text = rowHijo["Message"].ToString();
nodoPadre.Nodes.Add(nodoHijo);
}
ds.Dispose();
cmd.Dispose();
conn.Close();
conn.Dispose();
}
}
Cuando doy clic a un nodo padre se supone debería entrar al evento expand, o no, haga lo que haga, tal vez tenga que usar otro evento o me falte algo, la verdad no tengo idea. Pero si me puedes ayudar en esa cuestión te agradezco mucho. Otra cosita, si sabes cuál sería el equivalente en c# de la instrucción que me falta sería muy muy bueno me la dijeras.
Gracias!!!
Aqui está el código en c# que tengo dentro del evento Expand del treeview.
private void TreeView1_Expand(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{
//Despliega nodos hijos
string strConn = @"data source=..\..; initial catalog=Foros;password=internet;user id=internet";
string strConsMsg;
SqlConnection conn;
SqlDataAdapter cmd;
DataSet ds;
TreeNode nodoPadre = new TreeNode();
//nodoPadre = sender.nodes(e.Node.ToString());
/* Aqui me falta saber bien cual es el equivalende esta intrucción de VB en C# para asignar el nodo seleccionado a la variable nodoPadre que sirve para buscar los hijos */
if ( nodoPadre.Nodes.Count == 0 )
{
conn = new SqlConnection(strConn);
ds = new DataSet();
conn.Open();
strConsMsg = "SELECT tblMensajes.Message FROM tblMensajes INNER JOIN tblUsuarios ON tblMensajes.UserName"+
"= tblUsuarios.UserName WHERE tblUsuarios.UserName= '"+nodoPadre.NodeData.ToString()+"' ORDER BY tblMensajes.Message";
cmd = new SqlDataAdapter(strConsMsg, conn);
cmd.Fill(ds, "Mensajes");
foreach(DataRow rowHijo in ds.Tables["Mensajes"].Rows)
{
TreeNode nodoHijo = new TreeNode();
nodoHijo.Text = rowHijo["Message"].ToString();
nodoPadre.Nodes.Add(nodoHijo);
}
ds.Dispose();
cmd.Dispose();
conn.Close();
conn.Dispose();
}
}
Cuando doy clic a un nodo padre se supone debería entrar al evento expand, o no, haga lo que haga, tal vez tenga que usar otro evento o me falte algo, la verdad no tengo idea. Pero si me puedes ayudar en esa cuestión te agradezco mucho. Otra cosita, si sabes cuál sería el equivalente en c# de la instrucción que me falta sería muy muy bueno me la dijeras.
Gracias!!!

bueno, seguro que me equivoco...
estoo, no será que te has equivocado y tienes puesto message en un sitio y deberia poner mensages?
bueno, la verdad es que de C# ni idea... no tienes un debuggner que te diga en que linea se encuentra el fallo?
bueno, la verdad es que de C# ni idea... no tienes un debuggner que te diga en que linea se encuentra el fallo?
mil perdones...!!!
no termino de entender muy bien lo que quieres hacer...
pero aca hay una ayuda sobre como cargar un treeview
http://support.microsoft.com/?scid=kb;es;307968
saludos
pero aca hay una ayuda sobre como cargar un treeview
http://support.microsoft.com/?scid=kb;es;307968
saludos