Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-02-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Unhappy TreeView sacar Hijos

Hola a todos

Estoy desesperada nose como poder sacar todos los hijos de un determinado item donde yo hago click en un treeview

Digamos que tenemos este arbol

Código:
 
Abuelo1       
------Hijo1     
------Hijo2     
----------nieto1 
----------nieto2 
Abuelo2
------Hijo12
1. Si yo hago click en nieto1 no saca ningun hijo
2. Si yo hago click en hijo2 me sca como sus hijos nieto1 y nieto2
3. Si yo hago click en abuelo1 deberia sacarme Hijo1, Hijo2, nieto1 y nieto 2

Lo estube haciendo de la siguiente manera

Código Delphi [-]
 
var
   i:Integer;
   hijos:String;
begin
     hijos:='';
     IF arbol.Selected.HasChildren=TRUE THEN
     begin
         for i:=0 to arbol.Selected.Count-1 do
         begin
             hijos:=hijos+' > '+arbol.Selected.Item[i].Text;
         end;
         showmessage(hijos);
     end
     ELSE
         showmessage('El item no tiene hijos');
end;

Me funciona para el caso 1 y 2 pero para la 3 solo me saca Hijo1 e Hijo2 pero no los nietos y si deberian estar

Ayudenme por favor cualquier idea sera bienvenida, muchisimas gracias por adelantado
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 03-02-2006 a las 21:56:17.
Responder Con Cita
  #2  
Antiguo 03-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Supongo que habría que hacer un procedimiento recursivo:

Código Delphi [-]
procedure SacaHijos(Nodo: TTreeNode; var Hijos: String);
var
  Hijo: TTreeNode;
  I: Integer;

begin
  for I := 0 to Nodo.Count - 1 do
  begin
    Hijo := Nodo.Item[i];
    Hijos := Hijos + ' > ' + Hijo.Text;
    SacarHijos(Hijo, Hijos);
  end;
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 03-02-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Miles y miles de gracias amigo Roman, ha funcionado perfectamente.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TreeView parent Caro OOP 4 09-11-2005 18:37:45
TreeView tamaños implícito nicocer Varios 1 11-11-2004 18:23:14
seleccionar nodo de treeview sin hacer click miguelogm OOP 1 11-11-2004 17:03:51
Duda el TreeView VRO Varios 1 30-09-2004 13:26:10
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 OOP 1 08-04-2004 23:42:44


La franja horaria es GMT +2. Ahora son las 13:51:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi