PDA

Ver la Versión Completa : TTreeView, como recorrer los hijos del nodo seleccionado


ElDioni
25-04-2012, 17:41:29
Buenas tardes a todos,

es la primera vez que me pongo a trabajar con el treeview y voy un poco a trompicones, el treeview que tengo funciona de la siguiente forma, el nodo padre es como un acumulado de los hijos que lo componen.

Ejemplo, tengo tres pedidos de papel couche, uno es de 1000 metros, otro de 1500 y otro de 300, en el treeview esto aparecería así.


- Couche 2800 metros
└ Couche 1000 metros.
└ Couche 1500 metros.
└ Couche 300 metros.


El usuario tiene la opción de servir los pedidos por separado pinchando en el pedido que quiera, o servirlos todos juntos pinchando en el nodo padre, y ahí está mi duda, no se como recorrer los nodos hijos que dependen del principal.

Desde ya gracias por su tiempo.

Saludos.

roman
25-04-2012, 17:46:30
Según la ayuda de Delphi sería usando la propiedad Items del nodo en cuestión.

// Saludos

ElDioni
25-04-2012, 18:10:01
Lo siento roman pero no consigo verlo, de paso aprovecho y te pregunto si crees que para el proposito que busco el treeview es la mejor opción o me recomendarías otra cosa.

Saludos.

maeyanes
25-04-2012, 18:31:31
Hola...

Como dice roman, usas la propiedad Item del nodo en cuestión:


var
NodoSeleccionado: TTreeNode;
I: Integer;

begin
for I := 0 to Pred(NodoSeleccionado.Count) do
NodoSeleccionado.Item[I].Text := 'Nuevo texto'
end;



Saludos...

ElDioni
25-04-2012, 18:47:46
Hola,

para hacer una prueba con el ejemplo que me ponías he puesto el siguiente código:


for x:=0 to TreeVPendientes.Selected.Count-1 do
begin
ShowMessage(TreeVPendientes.Selected.Item[x].Text);
end;


No lo veía antes porque estaba haciendolo con la propiedad items del treeview en lugar de la propiedad item del treenode.

Funciona perfectamente. Gracias a los dos.

De todas formas, como he comentado antes, si creeis que existe algún componente que se ajuste mejor a lo que quiero hacer os agradecería que me lo indicarais.

Saludos.

roman
25-04-2012, 18:58:52
De todas formas, como he comentado antes, si creeis que existe algún componente que se ajuste mejor a lo que quiero hacer os agradecería que me lo indicarais.


Yo creo que esto más bien depende de cómo estás estructurando la información. Ni siquiera tengo claro si la tomas de una base de datos.

// Saludos

ElDioni
26-04-2012, 09:44:58
Hola roman,

efectivamente la información se toma de una base de datos access que se va rellenando cuando se pasa una orden de fabricación, esta orden va rellenando una tabla de materiales pendientes de confirmar, con esa información se va rellenando el treeview, los materiales que coinciden en características los acumulo en el nodo padre y luego, al desplegar éste, aparecen los hijos que lo conforman, la idea es que si necesito 4000 metros de un papel y en almacén solo tengo 3000 no tengo la opción de servir el conjunto completo pero si algunos por separado, el resto tendría que hacer un pedido de material.

No se si así se entiende la idea, si necesitas más información dimelo.

Saludos.