Es decir el primero es el general, el segundo es el sub general y el tercero el sub sub general no?
Yo te pongo un codigo de como sería el primero y despues sus hijos y los hijos de estos hijos....con una tabla de ejemplo, si necesitas mas dimelo...
Conectar();
string consulta = "SELECT Categoria FROM Categorias";
Orden = new SqlCommand(consulta, ConexionConBD);
SqlDataReader Leer = conexiones.Orden.ExecuteReader();
int contadorNodos = 1;
TreeNode Hijo = null;
TreeNode Nieto = null;
TreeNode Padre = new TreeNode();
while (Leer.Read())
{
Hijo = new TreeNode(Leer[0].ToString());
Hijo.Name = "Nodo" + contadorNodos.ToString();
Hijo.Text = Leer[0].ToString();
Nieto = new TreeNode(Leer[0].ToString());
Nieto.Name = "Nodo" + contadorNieto.ToString();
Nieto.Text = Leer[0].ToString();//LEER DE LA BD
Hijo.Nodes.Add(Nieto); //AQUI AÑADIMOS EL HIJO DEL HIJO DEL PADRE
Padre.Nodes.Add(Hijo); //AQUI AÑADIMOS EL HIJO AL PADRE
contadorNodos = contadorNodos + 1;
}
Padre.Name = "Nodo0";
Padre.Text = "Categorias";
treeView1.Nodes.AddRange(new TreeNode[] {Padre});
}
El objeto leer debería ser diferente para cada tabla de la base de datos y montartelo como puedas con while y if....
Es complicado pero no imposible ;)
Espero que te ayude
[email protected]