PDA

Ver la Versión Completa : Crear TreeView desde Cero


ramflores
07-08-2007, 23:30:25
Hola Foro.

Tenia mucho tiempo de entrar al foro, pero ya estoy de nuevo aki, y espero poder cooperar mucho.

Por lo pronto traigo un problemilla, como puedo llenar un TreeView desde cero por Codigo ?

Saludos y gracias de antemano

egostar
07-08-2007, 23:46:13
Hola

Puedes postear lo que ya hayas intentado:confused:, a partir de ahí te podremos ayudar mejor.

Salud OS.

ramflores
07-08-2007, 23:52:10
Hola , todavia no he empezado hacer nada, mi idea es la siguiente

tener 3 botones
boton1 - Nivel1
boton2 - Nivel2
boton3 - Nivel3

al oprimir un cierto boton es el nivel que se agregaria, mi pregunta es como agregar por codigo los nodos segun su nivel, desde el nivel 0

:(

AzidRain
08-08-2007, 00:39:20
Procedure TForm1.Button1Click(Sender: TObject);

var
MyTreeNode1, MyTreeNode2: TTreeNode;
begin
with TreeView1.Items do
begin
Clear; { Quitar todos los nodos}
MyTreeNode1 := Add(nil, 'Nodo raiz'); { Agregar un nodo raiz }

{ Agregar un nodo hijo al nodo que acabos de hacer}
AddChild(MyTreeNode1,'Nodo Hijo 1');

{Agregar otro nodo raiz}
MyTreeNode2 := Add(MyTreeNode1, 'Nodo Raiz 2');

{Agregar otor hijo al nodo anterior }
AddChild(MyTreeNode2,'Nodo hijo 2');


{Agregar otor nodo raiz}
Add(MyTreeNode1, 'Nodo raiz 3');
end;

end;


Y aqui tienes un buen de articulos sobre TTreeview con ejemplos:
http://delphi.about.com/b/a/009212.htm

Neftali [Germán.Estévez]
08-08-2007, 09:42:16
También puedes revisar la sección de ejemplos de esta página (http://neftali.clubdelphi.com/) (sección de ejemplos); Es un ejemplo que tenía por ahí de pasar un Menu a un TreeView; Puedes revisar el código y verás cómo se va llenando el conntrol.

ramflores
08-08-2007, 23:51:56
Perfecto, muchas gracias, ya pude llenar el treeView, ahora tengo otra inquietud, Quisiera hacer lo siguiente , tengo estas tablas y relacionadas de la siguiente manera

Areas
...|- Departamentos
.............|- Centro Costos
........................|- Puestos

Quiero presentar la informacion de la siguiente manera y ahi mismo poder darle mantenimiento a la informacion, ya se como agregar nodos, y su texto, pero donde podria guardar la llave de la tabla?:confused:

AzidRain
09-08-2007, 01:57:06
Lo sospeche desde un principio no sé por qué....yo estaba haciedo lo mismo y mejor me compre un componente que hace todo (aprovechando mi descuento de cliente de DevExpress).

Aunque no se entiende bien que quieres, es una sola tabla? Si es una sola tabla puedes tener una estructura como esto:

clave - descripción - clave_madre

donde clave_madre contendría un valor (clave) que se encuentra a su vez en la misma tabla. Este tipo de tablas se llaman autorreferenciadas.
Aqui hay un artículo que hace precisamente un tree a partir de la tabla, lo estaba traduciendo pero no lo terminé ojalá te sirva

La clave es el uso de recursión