Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2010
Chewitta Chewitta is offline
Miembro
 
Registrado: jul 2008
Posts: 13
Poder: 0
Chewitta Va por buen camino
Unhappy Ayuda con Treeview

Hola

estoy manejando un Treeview y estoy lo que necesito es check si chekeo el padre se debe de poner lo mismo tanto en los hijos como los nietos , estoy actualmente usando este codigo, pero solo lo hace con los hijos como lo acomodod para que queden tambien los nietos
Código Delphi [-]
procedure TFrmSeguridad.TreeView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var node_sel,f:TTreeNode;
    p:tpoint;
    b:boolean;
begin
 getcursorpos(p);
 if (TreeView1.GetNodeAt(X, Y) <> nil) then
  begin
   node_sel:=TreeView1.GetNodeAt(x,y);
   b:=TreeView1.GetChecked(node_sel);
   f:=node_sel.getFirstChild;
     while (f<>nil) do
      begin
       TreeView1.SetChecked(f,b);
       f:=f.GetNextChild(f);
      end;
    end;
end;
de antemano gracias... por su ayuda
Responder Con Cita
  #2  
Antiguo 17-05-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
¿Existen los métodos GetChecked y SetChequed en el TTreeView?....
¿No puedes utilizar la propiedad Selected para evitar buscar el Item por posición?...

Lo que haría sería lo siguiente: crearía un método recursivo tipo SetChecked(ANode: TTreeNode; AValue: Boolean; ALevel: Integer; AMaxLever: Integer) donde cada vez que se llame se incremente el valor ALevel y solo se vuelva a llamar si el valor ALevel es menor que AMaxLevel!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 17-05-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

Tienes que hacer que el método sea recursivo. Algo como:

Código Delphi [-]
procedure TFrmSeguridad.TreeView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  Node := TreeView1.GetNodeAt(X, Y);
  if Assigned(Node) then
    CheckNodes(Node)
end;

procedure TFrmSecuridad.CheckNodes(Node: TTreeNode);
var 
  F: TTreeNode;
  p: TPoint;
  b: Boolean;

begin
  b := TreeView1.GetChecked(Node);
  for I := 0 to Pred(Node.Count) do
  begin
    TreeView1.SetChecked(Node[i], b);
    if Node[i].HasChildren then
      CheckNodes(Node[i])
  end
end;

Este código lo hice de memoria y no lo he probado, pero te puede dar una idea de cómo lo debes hacer.


Saludos...
Responder Con Cita
  #4  
Antiguo 18-05-2010
Chewitta Chewitta is offline
Miembro
 
Registrado: jul 2008
Posts: 13
Poder: 0
Chewitta Va por buen camino
Ayuda TreeView

Muchas gracias Maeyanes... ya lo probe como lo pusiste y va bien... quedo de lujo.
Responder Con Cita
  #5  
Antiguo 18-05-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Si lo de maeyanes es correcto, entonces te interpreté mal. Las instrucciones que te dí eran para que no supere mas de dos niveles en la jerarquía... (Hijos y nietos, pero no biznietos y tataranietos).

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
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
Ayuda con TreeView xmalmorthen Varios 5 10-02-2009 16:18:31
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 17:36:13.


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