Llenar un arbol de manera dinámica(Urgentisimo)

13/08/2003 - 00:33 por Francisco Fagas | Informe spam
Hola amigos, necesito lo siguiente.

Yo tengo una tabla de cuentas las cuales tienes los
siguiente campos, lo cuales voy a poner un ejemplo de
cuentas.

id codigo_cuenta descripcion
codigopadre nivel
1 1
Activo NULL 0
2 2
Pasivo NULL 0
3 11 Activo
Corriente 1 1
4 21 Pasivo
Corriente 2 1
5 111
Banco 11 2
6 211 Cuentas por
Pagar 21 2
7 1111 Banco
Guayaquil 211 3

Basados en esta información necesito llenar un treeview de
manera dinámica y eficiente de tal manera que al mostrar
la forma me muestre algo como esto:
Activo
Activo Corriente
Banco
Banco Guayaquil
Pasivo
Pasivo Corriente
Cuentas por pagar

Por favor es urgente esto ya que esto es vital para la
aplicación.
Si pueden darme un poco de código me ayudarían de gran
manera, ya que eso me ayudará también para otra cosa, que
es el que cuando yo presente una lista de cuentas y cuando
yo hago clic en una de la cuenta de las listas la pueda
ubicar en el treeview.
 

Leer las respuestas

#1 mente
13/08/2003 - 13:18 | Informe spam
Espero que este código te sirva. con este ejemplo se supone que existe un
dataset con los campos ID,Titulo y IDPadre.
Espero que se vea mas o menos,
Si tienes algún problema espero poder ayudarte.

Codigo:
internal void trwDocPuntsActu()
{
//carga datos
this.dsDataSet1.Clear();
this.daCargador.Fill(this.dsDataSet1);
//treeview
tree.Nodes.Clear();
//empieza a poner nodos desde 0
this.PonerNodos(0,(TreeNode)null);
}

private void PonerNodos(int iParent,TreeNode tnDesde)
{

DataView dvwPunts = new DataView(dsDataSet1.Tables[0]);
dvwPunts.RowFilter = "[IDPadre] = " + iParent;
TreeNode zNode=null;

foreach(DataRowView Row in dvwPunts)
{
//si el nodo no tiene padre crea nodo principal
if(tnDesde == null)
{
zNode = tree.Nodes.Add(Row["Titulo"].ToString);
zNode.Tag=Row["ID"].ToString();
PonerNodos((int)Row["ID"],zNode);
}
else
{
//si hay nodo padre colgamos de el sus hijos
zNode =tnDesde.Nodes.Add(Row["Titulo"].ToString());
zNode.Tag=Row["ID"].ToString();
PonerNodos((int)Row["ID"],zNode);
}
}
}


"Francisco Fagas" escribió en el mensaje
news:047701c36121$baa55bc0$
Hola amigos, necesito lo siguiente.

Yo tengo una tabla de cuentas las cuales tienes los
siguiente campos, lo cuales voy a poner un ejemplo de
cuentas.

id codigo_cuenta descripcion
codigopadre nivel
1 1
Activo NULL 0
2 2
Pasivo NULL 0
3 11 Activo
Corriente 1 1
4 21 Pasivo
Corriente 2 1
5 111
Banco 11 2
6 211 Cuentas por
Pagar 21 2
7 1111 Banco
Guayaquil 211 3

Basados en esta información necesito llenar un treeview de
manera dinámica y eficiente de tal manera que al mostrar
la forma me muestre algo como esto:
Activo
Activo Corriente
Banco
Banco Guayaquil
Pasivo
Pasivo Corriente
Cuentas por pagar

Por favor es urgente esto ya que esto es vital para la
aplicación.
Si pueden darme un poco de código me ayudarían de gran
manera, ya que eso me ayudará también para otra cosa, que
es el que cuando yo presente una lista de cuentas y cuando
yo hago clic en una de la cuenta de las listas la pueda
ubicar en el treeview.

Preguntas similares