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

Llenar TreeView desde una tabla.

Estas en el tema de Llenar TreeView desde una tabla. en el foro de .NET en Foros del Web. Hola, Necesito programar una rutina para llenar un TreeView con datos leídos desde una base de datos mysql. Les muestro el código que utilizo ahora, ...
  #1 (permalink)  
Antiguo 27/05/2009, 18:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 24
Antigüedad: 14 años, 11 meses
Puntos: 0
Pregunta Llenar TreeView desde una tabla.

Hola,

Necesito programar una rutina para llenar un TreeView con datos leídos desde una base de datos mysql.
Les muestro el código que utilizo ahora, que aunque funciona ok sólo lo hace para agregar los nodos padre y sus hijos, y ahora necesitaría ver la forma de agregarle más nodos pero que dependan de alguno de los hijos que ya agregué. Lo puedo hacer añadiendo más bucles, pero eso terminaría por ser un lío de for y no sé tampoco de antemano cuantos bucles voy a necesitar luego.

Primero les muestro la tabla destinos, su estructura y un par de datos de ejemplo:

idDestino|destino|depende
1|destino1|0
2|destino2|0
3|destino3|1
4|destino4|3
5|destino5|2

Ahora la parte del código que llena el TreeView:

Código:
sql = "SELECT * FROM Destinos ORDER BY depende,idDestino;";
TreeNode tn = new TreeNode();
da = new MySqlDataAdapter(sql, cnn);
dt = new System.Data.DataTable();

da.Fill(dt);
DataRow drPadre,drHijo;
for (int i = 0; i < dt.Rows.Count; i++)
{
	drPadre = dt.Rows[i];
	if (System.Convert.ToInt16(drPadre["depende"]) == 1) tn = tvDestino.Nodes.Add(drPadre["destino"].ToString());
	for (int j=0;j<dt.Rows.Count;j++)
	{
		drHijo=dt.Rows[j];
		if (System.Convert.ToInt16(drHijo["depende"]) == System.Convert.ToInt16(drPadre["idDestino"])) tn.Nodes.Add(drHijo["destino"].ToString());
	}
}
etc...

Gracias.
  #2 (permalink)  
Antiguo 28/05/2009, 00:53
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Llenar TreeView desde una tabla.

Creo que te va a tocar hacerlo con bucles.

Sobre la funcion, pues se me ocurre que te crees una funcion a la que le pasas la profuncidad del nodo que vas a crear, la posicion de este, y una tabla con los textos de los nodos que vas a crear.

Hecho esto, puedes usar la funcion para que te cree los nodos a partir de los datos que le pasas.... pero vamos, que yo creo qeu los bucles no te los quita nadie.

ya nos cuentas.

saludos y buen dia
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 19:10.