Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
El título es hijos y nietos, sin embargo, al hablar de "Parent" estas hablando de padres y abuelos... la ascendencia en lugar de la descendencia.

Bueno, después del trabalenguas, lo que debes mirar es la propiedad "HasChild" para saber si tienes hijos. Obtener el primero de ellos (GetFirstchild) y mediante un bucle realizar la misma tarea mientras el siguiente hermano (GetnextSibling ) sea distinto de nulo.

¿cómo quieres obtener los hijos y nietos, todos mezclados?
Porque un nodo puede tener dos hijos, y cada uno de ellos a su vez, pueden tener varios nietos del primero, obtener una lista "plana" quizás no sirva de nada.

El código es lo de menos. Lo importante es lo que tenía el programador en la cabeza cuando escribió el código .

PD: JXJ, tampoco hay que ser así, muchas veces se pone código y no pasa nada. El problema es "cuando te exigen que pongas el código"

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 20-02-2008 a las 15:03:24.
Responder Con Cita
  #2  
Antiguo 20-02-2008
eljuanan eljuanan is offline
Miembro
 
Registrado: feb 2008
Posts: 10
Poder: 0
eljuanan Va por buen camino
Lo siento, es que estoy bastante pillao
en este tema.
El caso es que quiero obtener en una lista, me da igual el orden
los nodos que dependan de uno padre (cualquier nivel del arbol),
es para realizar una serie de acciones con cada uno antes de
eliminar el padre y todos ellos...
Un Saludo
Responder Con Cita
  #3  
Antiguo 21-02-2008
egbaquela egbaquela is offline
Miembro
 
Registrado: jul 2007
Posts: 21
Poder: 0
egbaquela Va por buen camino
Eljuan: te paso un procedimiento que que cambia el texto a toda la descendencia de un nodo determinado, supongo que es parecido a lo que quieres hacer:

Código Delphi [-]
procedure TForm1.CambiarTextoDescendencia(Nodo: TTreeNode);
var
  i:integer;
begin
  if nodo.HasChildren=true then
  begin
    for i := 0 to (Nodo.Count - 1) do
    begin
      CambiarTextoDescendencia(nodo.item[i]);
      nodo.item[i].text:='Texto Cambiado';
    end;
  end;
end;

Como bien dijo Lepe, HasChildren devuelve true si el nodo tiene descendencia. Item[n] te permite trabajar con el hijo número n del nodo actual (están indexados a partir de 0). Count cuenta cuantos hijos tiene el nodo actual.

Para ejecutarlo, suponiendo que queres alterar el texto de la descendecia del nodo seleccionado:

Código Delphi [-]
Form1.CambiarTextoDescendencia(treeview1.Selected);

Para adaptarlo a lo que necesitas, solo tendrías que cambiar la asignación de texto al nodo por la/s operación/es que necesitas realizar.
Espero que te sirva.
Saludos, Enrique Gabriel Baquela.

Última edición por egbaquela fecha: 23-02-2008 a las 03:33:30.
Responder Con Cita
  #4  
Antiguo 24-02-2008
eljuanan eljuanan is offline
Miembro
 
Registrado: feb 2008
Posts: 10
Poder: 0
eljuanan Va por buen camino
Hola de nuevo, sabriais alguno decirme como resaltar (cambiando el color o el fondo por ejemplo), de ciertos nodos que son el resultado de una busqueda?

procedure TFHSFabaMain.BuscayResaltaNodo(n:string);
var
Nodo: TTreeNode;
I: Integer;
begin
for I := 0 to tv.Items.Count - 1 do
begin
Nodo := tv.Items[i];
if Pos(n,Nodo.Text)>0 then
begin
Nodo.Selected := true;
Nodo.MakeVisible;
AQUI NECESITO COLOREAR O RESALTAR DE ALGUNA MANERA LOS NODOS COINCIDENTES
break;
end;
end;
end;
Responder Con Cita
  #5  
Antiguo 29-02-2008
egbaquela egbaquela is offline
Miembro
 
Registrado: jul 2007
Posts: 21
Poder: 0
egbaquela Va por buen camino
Resaltar o colorear nodos

Elijuan: la verdad es que no tenía ni idea, pero buscando en el google encontre esta web:

http://delphiallimite.blogspot.com/2...view-y-ii.html

Fijate que explica como cambiar los atributos de las fuentes y como asociarle imágenes a cada ícono.
Saludos, Enrique Gabriel Baquela.
Http://enrique-gabriel-baquela.neurona.com
Responder Con Cita
  #6  
Antiguo 06-03-2008
eljuanan eljuanan is offline
Miembro
 
Registrado: feb 2008
Posts: 10
Poder: 0
eljuanan Va por buen camino
Dado el procedimiento
para cargar el arbol de la BD
procedure TFrmAuditoriaArbolCausa.CargarTree(Sender: TObject; SQL: String);
os consulto lo siguiente:
he añadido un campo orden a cada registro de la base de datos para
mostrar los nodos de una forma ordenada, y en la consulta
del procedimiento, hago "order by orden".
Pues da un fallo, invalid index
¿Alguna sugerencia?
Responder Con Cita
  #7  
Antiguo 06-03-2008
egbaquela egbaquela is offline
Miembro
 
Registrado: jul 2007
Posts: 21
Poder: 0
egbaquela Va por buen camino
Falla en el SQL

¿Podrías poner la sentencia SQL de la consulta que generás?
¿Con que base de datos trabajás?.
Saludos, Enrique Gabriel Baquela.
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
Copiar un treeview a otro treeview mierda OOP 0 26-07-2006 12:29:17
treeview kiringui OOP 4 18-07-2006 11:52:38
Ver Mi Pc en un TreeView gilberto_1126 API de Windows 2 22-06-2004 01:07:36
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 Varios 2 08-04-2004 22:47:30
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 OOP 1 08-04-2004 22:42:44


La franja horaria es GMT +2. Ahora son las 16:32:29.


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