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

Ayuda con archivo y treeview

Estas en el tema de Ayuda con archivo y treeview en el foro de .NET en Foros del Web. Hola a todos, ojala alguien pueda darme alguna sugerencia o idea Mi problema es el siguiente, tengo un archivo que contiene muchos codigos de departamentos ...
  #1 (permalink)  
Antiguo 02/02/2011, 22:25
 
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 9
Antigüedad: 13 años, 2 meses
Puntos: 0
Ayuda con archivo y treeview

Hola a todos, ojala alguien pueda darme alguna sugerencia o idea

Mi problema es el siguiente, tengo un archivo que contiene muchos codigos de departamentos y dentro de esos deptos hay otros, quiero desplegar en un treeview los deptos y los sub departamenos de estos. El problema principal es la estructura del archivo que es la siguiente :


+ codigo1
+ codigo12
+ codigo13
codigo131
+ codigo2


no se si se entiende xD. Solo se quien pertenece a quien por el identificador "+" , alguien tiene alguna idea?, me he quebrado la cabeza toda la noche y no se me ocurre nada :/.

Espero sugerencias , saludos.
  #2 (permalink)  
Antiguo 03/02/2011, 07:16
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Ayuda con archivo y treeview

esos datos los jalas de una BD?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 03/02/2011, 08:28
 
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 9
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Ayuda con archivo y treeview

Es un archivo csv que viene con esa estructura.


Código:
  + CL01CN01
    + CL01CNGG000
      + CL01CNGG020
        CA002
        CA013
        RA804
      + CL01CNGG100
        CA301

es una copia de una parte del archivo, entonces quiero poder identificar que el CL01CNGG000 pertenece al CL01CN01 y así respectivamente.
  #4 (permalink)  
Antiguo 03/02/2011, 08:38
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Ayuda con archivo y treeview

mmm no kreo que pueda ayudarte con ese tema porque con BD se hubiese hecho con tabla recursiva y asi se hubiese generado mas facilmente un arbol. Espero que otra gente pueda ayudarte con este problema. Saludos!
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 03/02/2011, 08:55
 
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 9
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Ayuda con archivo y treeview

y si paso los códigos a una bd? en total son como 800 códigos, no se debe demorar mas de unos segundos, ahí si podría diferenciar cual es cual según sus "+" ?

Gracias por responder =)
  #6 (permalink)  
Antiguo 03/02/2011, 09:16
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 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
  #7 (permalink)  
Antiguo 07/02/2011, 05:21
 
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 9
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Ayuda con archivo y treeview

Gracias por responder , veré que me resulta =)

Edit:

El treeview funciona sin problemas, pero lamentablemente aun no logra hacer un algoritmo que me genere los id del padre sin errores, si alguien se le ocurre algo, me avisa =)

Última edición por dark452; 09/02/2011 a las 08:20
  #8 (permalink)  
Antiguo 09/02/2011, 17:59
 
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 9
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Ayuda con archivo y treeview

help!!!!!!!!

Etiquetas: treeview
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 06:50.