Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   treeview (https://www.clubdelphi.com/foros/showthread.php?t=37708)

kadith aguas 20-11-2006 23:58:00

treeview
 
Tengo una Bd en interbase, con delphi 6, es un programa para un software de ayuda en una materia X, guardo en la tabla: tema y contenido y en otra tabla los subtemas que pertenescan a cada tema y creo un nodo con el tema en el treeview y sus respectivos subtema, mi problama es el siguiente cuando quiero hacer una busqueda por parametro desde un edit, necesito que en el treeview vaya saliendo los temas relacionados, esto lo necesito es para ya encontrado el tema, pueda darle click al nodo y me haga una busqueda en la base de datos y me la muestre...en no se...un Memo por ejemplo o en un RichEdit....


Gracias por la ayuda que puedan prestarme.............les agradezco la colaboracion

dec 21-11-2006 08:12:05

Hola,

Se trataría, creo, de realizar una búsqueda en el "TreeView" por ver si se encuentra el "Nodo" que el usuario especifica en el "TEdit". O sea, el usuario escribe en el "TEdit" el "subtema" o "tema" a buscar, nosotros realizamos la búsqueda, y, si se encuentra el "Nodo" (cuyo texto es el nombre del tema o subtema) pues lo hacemos visible y lo seleccionamos.

El siguiente código lo escribió el compañero Román hace tiempo. Lo único que he hecho ha sido añadir la instrucción que da el foco al "TreeView", de manera que "se vea" seleccionado el "Nodo" buscado... y encontrado.

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
var
  I: Integer;
  S: string;
  Nodo: TTreeNode;
begin
  // Texto del nodo a buscar
  S := Edit1.Text;
  // Recorremos todos los Nodos del TreeView
  for I := 0 to TreeView1.Items.Count - 1 do
  begin
    // Asignamos a Nodo el nodo actual
    Nodo := TreeView1.Items[i];

    // Si el texto del Nodo coincide con el que se busca
    if Nodo.Text = S then
    begin
      // Seleccionamos el Nodo
      Nodo.Selected := true;
      // Lo hacemos visible
      Nodo.MakeVisible;
      // Y enfocamos el TreeView
      TreeView1.SetFocus;
      // Una vez encontrado el texto no hay para qué seguir
      break;
    end;
  end;
end;


La franja horaria es GMT +2. Ahora son las 00:16:59.

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