Ver Mensaje Individual
  #1  
Antiguo 10-12-2004
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Reputación: 21
bbjb Va por buen camino
Localizar nodo en un arbol

hola,

Tengo un treeview cargado y sin expandir, y quiero buscar un nodo, posicionarme sobre él y expandir el arbol, pero expandirlo sólo sobre esa rama, es decir no quiero que se me expanda todos los niveles del árbol sino sólo aquel que tengo seleccionado.

He buscado en los foros de delphi y he encontrado un hilo donde explicaban el siguiente procedimiento.

Código:
var
  i:Integer;
  n:TTreeNode;
begin
  // Recorrer los nodos del árbol
  for i:=0 to (TreeView1.Items.Count - 1) do begin
    // Lo ha encontrado?
    if (TreeView1.items[i].Text = 'NomdeDeMiNodo') then begin
      n := TreeView1.items[i];
      // Expandir
      n.Expand(True);
      // Seleccionar
      n.Selected := True;
      // Pasar el foco al tree
      TreeView1.RowSelect := True;
      TreeView1.SetFocus;
    end;
  end;
Lo he seguido a rajatabla y el árbol no se expande, queda contraido y cuando empiezo a abrirlo veo como si se situa en el nodo buscado, pero para visualizarlo tengo que ir abriendo yo los niveles superiores de este

¿Hay algún fallo en el código o es el comportamiento normal????.
Responder Con Cita