Hola Norberto, te copio el mail que en su momento envió Hernán Baranda con un ejemplo de treeview que mi servió.
Saludos.

Osvaldo

Mario
te cuento como lo armé yo:
1-en el Init del Form defino los nodos que se van a mostrar
 
* Check to see if OCX installed and loaded.
IF TYPE("THIS.Images") # "O" OR ISNULL(THIS.Images)
 RETURN .F.
ENDIF
 
* esta sentencia es para incluir imagenes en el treeview carpetas abiertas, cerradas, etc
THIS.Tree.ImageList = THIS.Images
 
* Al control lo llame Tree (poco imaginativo lo mio)  y al control de imagenes lo llame Images
o = THISFORM.Tree
o.Nodes.Add(    , 1, "_1", "Declaración Jurada", 2)
o.Nodes.Add("_1", 4, "_2", "Datos descriptivos", 2)
o.Nodes.Add("_1", 4, "_3", "Liquidaciones", 2)
o.Nodes.Add("_3", 4, "_4", "Liquidación de actividades no amparadas por regímenes promocionados", 2)
o.Nodes.Add("_4", 4, "_5", "Determinación de débitos, créditos e ingresos directos", 0)
o.Nodes.Add("_4", 4, "_6", "Determinación del impuesto", 0)
o.Nodes.Add("_1", 4, "_7", "Determinación de la declaración jurada mensual", 0)
*en estas sentencias yo adiciono los nodos, los nombres los pongo yo nomas, no los saco de una tabla
*como creo que es tu caso, supongo que vos deberias hacer un count de la tabla y un for - next para ir
*asignando los nombres
*paso a detallar cada uno de los parametros que definen el nodo (no lo voy a hacer en forma ordenada):
*parametro 3 - clave que identifica al nodo
*parametro 1 - posición del nodo en la estructura, por ejemplo el "_1" "Declaración Jurada" es raiz en la
*                          estructura, el "_2" "Datos descriptivos", el "_3" "Liquidaciones" y el "_7"
*                       "Determinación de la declaración jurada mensual" arrancan directamente del raiz "_1",
*                          mientras que el "_4" arranca del "_3" y el "_5" y el "_6" arrancan del "_4"
* (perdón si es complicado pero así lo armé y no quise hacer uno nuevo para mostrarte)
* parametro 4 - texto
* parametro 5 - Indice de una imagen de un control ImageList asociado esto es opcional
* parametro 2 - para ser franco no recuerdo, pero el help dice que indica la posicion relativa del nodo segun
*                           valores predeterminados, por lo que supongo que 1 sera raiz y 4 lo asociado a esa raiz
 
2 - En el método NodeClick ponés lo que querés ejecutar con cada nodo
 
por ejemplo esto puse yo
do case
      case node.Index=1
                 thisform.senal = 1
       case node.Index=2
       case node.Index=3
                 thisform.senal = 3
       case node.Index=4
                 thisform.senal = 4
       case node.Index=5
                 thisform.visible=.F.
                 do form iva1
       case node.Index=6
                 thisform.visible=.F.
                 do form iva2
       case node.Index=7
                 thisform.visible=.F.
                 do form iva3
endcase
Espero que esto te haya aclarado algo
Saludos
Hernán
 
-----Mensaje original-----
De: Mario Andres Ageno <[email protected]>
Para: gufa List Member <[email protected]>
Fecha: Jueves, 29 de Junio de 2000 07:19 p.m.
Asunto: [gufa] Control TreeView {01}

Hola grupo
 
Quisiera saber como mostrar un plan de cuentas de contabilidad con un control TreeView, si alguien maneja este tipo de control y puede darme alguna ayuda !!!!
 
Estuve mirando un poco el de Solution pero no logro hacer funcionar el mío, la tabla que tengo de plan de cuenta es:
 
CODIGO            C    7
DESCRIPCION   C 35
 
no se como funciona este control, debo generar una nueva tabla para mostrarla con ? como hago la anidación ?
 
Gracias
 
Mario Andrés Ageno
San Justo - Santa Fe - Argentina
ICQ: 4561851
E-mail: [email protected]


Norberto Mario Alvarez escribió:

Estimados Colisteros, tengo que hacer un Tree View, relacionado con dos tablas, ya que al clickear en uno (Tabla A)  se habrá todos los registros relacionados (Tabla B).

Para ser sincero, no tengo ni idea de cómo empezar y/o hacerlo. Desde ya agradezco todas las sugerencias en el caso de existir alguna.

 

       Norberto Alvarez

      Socio # 1892

 


Se certificó que el correo entrante no contiene virus. Comprobada por AVG - www.avg.es Versión: 8.5.409 / Base de datos de virus: 270.13.82/2351 - Fecha de la versión: 09/07/09 06:40:00

  

Responder a