• Domingo 22 de Diciembre de 2024, 20:33

Autor Tema:  recorrer nodos de un treeview??  (Leído 2547 veces)

Sabbath

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
recorrer nodos de un treeview??
« en: Sábado 20 de Noviembre de 2010, 18:01 »
0
Que tal, veran… Estoy creando un pequeño sistema, en primer plano mostrara un Formulario de "Mantenimiento de Menú", donde el usuario Administrador tendrá la opción de crear tipos de Menú para cada usuario… estos menús estaran (o mejor dicho, serán) un TreeView... y el prototipo de diseño debe quedar algo asi:

 - A lado izquierdo un panel de controles de Mantenimiento (botones: Nuevo, Guardar, Editar, Actualizar, Salir)
 - En Medio, un tabControl con 2 pestañas: la 1ra para crear Cabeceras para el Menu/TreeView ( NODOS PADRES), y el 2do para crear Opciones de menu, que estaran dentro de una Cabecera, estas "Opciones" serna NODOS HIJOS.
     * En la 1ra pestaña (Cabecera) hay:
          - textBox1 (Codigo de cabecera, se autogenera, solo lectura)
          - textBox2 (Nombre de Cabecera)
          - comboBox1 (Estado de Cabecera: Habilitado/Inhabilitado)
          - maskedTextBox1 (Fecha de Registro, se captura del sistema, solo lectura)

     * En la 2da pestaña (OPCION) habran los siguientes controles:
          - textBox1 (Codigo de Opcion, autogenerado, solo lectura)
          - textBox2 (Nombre de Opcion)
          - comboBox1 (Estado de Opcion: Habilitado/Inhabilitado)
          - maskedTextBox1 (Fecha de Registro, se captura del sistema, solo lectura)
          - comboBox2 (Cabecera, es decir, en este comboBox se filtraran las Cabeceras/NodosPadre creados, para elegir en que NodoPadre estara este NodoHijo)
          - comboBox3 (Formulario que sera llamado bajo el evento de DobleClick , aca se filtraran los formulario como: Mantenimiento de Empleados, Mant. De Productos, etc…, el cual sera invocado al hacer dicho evento en el NodoHijo que se esta creando)

 - Y al lado derecho, un TreeView donde se previsualizara el Menú

 Verán, en este primer formulario tengo un TabControl, con 2 pestañas.... la 1ra pestaña es para crear NODOS PADRES, las cuales serán las cabeceras de los menús… y la 2da pestaña será para crear NODOS HIJOS, estos son los que llamarán a otros formularios bajo el evento de DobleClick... Bien.... hasta ahi creo que no hay problema... cuando empiezo a crear un nuevo NODO PADRE, (dando click en boton "Nuevo", se habilitan los campos para crear dicho nodo, los campos son: Codigo, Nombre (De Nodo Padre/Cabecera), Estado (Habilitado/Deshabilitado).. bien, no he tenido problemas al crear de plano NODOS PADRES cuyo estado es inicial es HABILITADO.. ya que, al darle click en "Guardar" éste Nodo debe agregarse y mostrarse en un TreeView que tengo al lado derecho del formulario, que sirve como una "Vista Previa" del menú... (Resalto que, en el TreeView Menú SOLO SE TENDRAN QUE  MOSTRAR LOS NODOS PADRES CUYO ESTADO ES HABILITADO, en caso de que su estado sea DESHABILITADO no debera mostrarse ni agregarse en el TreeView... y ahi es donde comienza mi problema....) Cuando creo un nuevo NodoPadre en estado Habilitado, este se agrega automaticamente al TreeView... eso esta BIEN... y, cuando creo otro NodoPadre con estado Deshabilitado, no se agrega al TreeView.. eso tambien esta OK... pero el GRAN PROBLEMA surge cuando EDITO el REGISTRO y cambio el ESTADO de un Nodo ya creado (y ya agregado en el TreeView) a estado DESHABILITADO)... O sea, me fijo en un registro de un NodoPadre que ya esta creado, y le cambio el Estado (que esta habilitado) a DESHABILITADO... entonces, al cambiarse de estado DEBERIA DE SER QUITADO del TreeView, cierto?... eso ES LO QUE NO PUEDO HACER!, no entiendo como hacerlo!... y el Nodo sigue en el TreeView!, y ya no deberia estar ahi.. igualmente en estado Viceversa (cambiar un Nodo de estado DESHABILITADO a HABILITADO.. deberia agregarse en el TreeView).. no entiendo como puedo hacerlo... pense en recorrer los Nodos del TreeView y si encuentro un Nodo con el nombre del nodo que estoy modificando debe ser quitado.. PERO NO SE LOS METODOS PARA RECORRER LOS NODOS... ni para QUITARLOS....ahi es donde necesito ayuda... espero puedan ayudarme, nunca antes habia trabajado con TreeView's y esto me resulta realmente complicado... no tengo otra opción, debo hacerlo con NODOS ya que asi me lo han requerido.... Espero su ayuda, y gracias de antemano... Saludos.