Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-02-2009
xmalmorthen xmalmorthen is offline
Registrado
 
Registrado: sep 2008
Posts: 6
Poder: 0
xmalmorthen Va por buen camino
Ayuda con TreeView

Hola, que tal compañeros, antes que nada saludos y recurro a toda la comunidad para exponerles mi necesidad... estoy trabajando con un sistema en el cual tengo dos treeviews pintados en un formulario, uno de ellos contiene la estructura tomada de un tmainmenu por medio del caption es decir, lo que muestra el treeview son las etiquetas del menu, mientras que el otro treeview muestra la propiedad name de los items del tmainmenu, los 2 treeviews tienen la misma estructura de ramas y hojas.... entonces lo que intento hacer es de que cuando se selecciona un item en el treeview que muestra los captions, se haga la seleccion exactamente en el mismo item pero en el otro treeview que muestra la propiedad name... aclaro que los dos treeviews tienen la misma estructura solo que pintan diferentes textos..... espero me puedan ayudar, de antemano muchas gracias...
Responder Con Cita
  #2  
Antiguo 10-02-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Se supone que al item seleccionado en el primer TTreeview podrás acceder por la propiedad Selected de este. Una vez tengas el TreeNode puedes acceder a la propiedad AbsoluteIndex de ese elemento en el primer TreeView.
Buscar en el segundo TreView el nodo que corresponda a ese AbsoluteIndex deberías ser sencillo (revisa a ver si hay método directo o hay que hacerlo de forma secuencial).

Otra opción, posiblemente más eficiente y si eres tú el que construye los TreeViews, es que "enganches" o "unas" las parejas de nodos de ambos TreeView en el momento en que los construyes; Por ejemplo, utilizando la propiedad Data de cada nodo del primeer TreeView, almacenas un apuntador al nodo correspondiente del segundo. De esta forma acceder al nodo correspondiente del segunddo TreeView sería directo.
No se si me expliqué bien...

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-02-2009
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
Cita:
Empezado por Neftali Ver Mensaje
Se supone que al item seleccionado en el primer TTreeview podrás acceder por la propiedad Selected de este. Una vez tengas el TreeNode puedes acceder a la propiedad AbsoluteIndex de ese elemento en el primer TreeView.
Buscar en el segundo TreView el nodo que corresponda a ese AbsoluteIndex deberías ser sencillo (revisa a ver si hay método directo o hay que hacerlo de forma secuencial).
Holitas, sobre la primera forma que te indica Neftali, tendría que ser algo así:

Código Delphi [-]
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
 TreeView2.Items.Item[TreeView1.Selected.AbsoluteIndex].Selected := True;
end;

y para que el segundo TreeView se muestre siempre seleccionado:

Código Delphi [-]
 TreeView2.hideselection := False;

Cita:
Empezado por Neftali Ver Mensaje
Otra opción, posiblemente más eficiente y si eres tú el que construye los TreeViews, es que "enganches" o "unas" las parejas de nodos de ambos TreeView en el momento en que los construyes; Por ejemplo, utilizando la propiedad Data de cada nodo del primeer TreeView, almacenas un apuntador al nodo correspondiente del segundo. De esta forma acceder al nodo correspondiente del segunddo TreeView sería directo.
No se si me expliqué bien...
Amiguito la segunda forma no he entendido .

Saluditos
__________________
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
  #4  
Antiguo 10-02-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Caro Ver Mensaje
Amiguito la segunda forma no he entendido
Bueno se trata de que cada nodo del primero está unido al del segundo.
En este caso, y por lo que hay que hacer tal vez no salga a cuenta, pero para otros tal vez simplefique las cosas.

De esa forma para sincronizar la seleccion de ambos simplemente basta con esto:

Código Delphi [-]
// en el Selected del primero
TTreeNode(Node.Data).Selected := True;

Con un ejemplillo, tal vez se vea más claro.
Archivos Adjuntos
Tipo de Archivo: zip Enlazar TreeViews.zip (1,4 KB, 17 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 10-02-2009
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
Cita:
Empezado por Neftali Ver Mensaje

Código Delphi [-]
// en el Selected del primero
TTreeNode(Node.Data).Selected := True;





Con un ejemplillo, tal vez se vea más claro.
Muchas gracias por el ejemplo Neftali ahora si me ha quedado claro, lo que he visto es que no siempre te apuntaba al indice correspondiente en el TreeView2, solo he cambiado esa línea de codigo al evento OnChange y todo bien.

Saluditos
__________________
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
  #6  
Antiguo 10-02-2009
xmalmorthen xmalmorthen is offline
Registrado
 
Registrado: sep 2008
Posts: 6
Poder: 0
xmalmorthen Va por buen camino
Gracias...!!!

muchas gracias por las respuestas, me sirvieron perfektamente.... ahhh y gracias por las prontas aportaciones...!!!
Responder Con Cita
Respuesta



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
Ayuda con TreeView BuenaOnda Varios 7 02-05-2007 20:57:44
Ayuda con TreeView Maury Manosalva OOP 3 09-08-2006 19:07:23
Ayuda con treeView rruffino Varios 1 05-01-2005 16:30:56
Ayuda con un TreeView CaBaL OOP 2 03-11-2004 16:38:19


La franja horaria es GMT +2. Ahora son las 12:01:36.


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