Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/02/2011, 09:16
Avatar de Aquaventus
Aquaventus
 
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 5 meses
Puntos: 267
Respuesta: Ayuda con archivo y treeview

tendrias que tener crear una tabla parecida a esta:

Código script:
Ver original
  1. CREATE TABLE DEPARTAMENTO(
  2. ID_DEP .....,
  3. NOM_DEP ....,
  4. ID_PADRE_DEP .... --DONDE ESTE VA A CONTENER EL ID DEL DEPARTAMENTO AL CUAL PERTECNECE
  5. PRIMARY KEY(ID_DEP))
OJO QUE DEBE TENER UNA CABEZERA!
por ejemplo unos datos :

('00001','DEPARTAMENTOS','00000') <--- Esta es la cabeza
('00002','PRESIDENCIAL','00001')
('00003','a101','00002')
('00004','a102','00002')
('00005','a103','00002')
('00006','SUITE','00006')
('00007','a201','00006')
('00008','a202','00006')
('00009','a203','00006')
('00010','NORMAL','00001')
('00011','a301','00010')
('00012','a302','00010')

EL arbol te mostraria algo asi:
Código script:
Ver original
  1. DEPARTAMENTOS
  2.        PRESIDENCIAL
  3.                 a101
  4.                 a102
  5.                 a103
  6.        SUITE
  7.                 a201
  8.                 a202
  9.                 a203
  10.        NORMAL
  11.                 a301
  12.                 a302
y luego se crearia un metodo asi :

Código c#:
Ver original
  1. public void Carga(string indicePadre, TreeNode nodePadre)
  2. {
  3. DataTable dtt = objmn.LISTADODEPARTAMENTOS();
  4. DataView dataViewHijos = new DataView(dtt);
  5. dataViewHijos.RowFilter = dtt.Columns["ID_PADRE_DEP"].ColumnName + " = " + indicePadre;
  6.  
  7. foreach (DataRowView dataRowCurrent in dataViewHijos)
  8. {
  9. TreeNode nuevoNodo = new TreeNode();
  10. nuevoNodo.Text = dataRowCurrent["NOM_DEP"].ToString();
  11. if (nodePadre == null)
  12. {
  13. treeView2.Nodes.Add(nuevoNodo); //se le agrega un nuevo nodo
  14. }
  15. else
  16. {
  17. nodePadre.Nodes.Add(nuevoNodo); // sino le agrego nuevos hijos
  18. }
  19. Carga(Int32.Parse(dataRowCurrent["ID_DEP"].ToString()), nuevoNodo);
  20. }
  21. treeView2.ExpandAll();
  22. }

y finalmente para imprimir el listado se llama asi por ejemplo en tu load

Código c#:
Ver original
  1. Carga('00000', null);

Espero te haya sido util. Saludos!
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 03/02/2011 a las 09:52