Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   TTreeView, como recorrer los hijos del nodo seleccionado (https://www.clubdelphi.com/foros/showthread.php?t=78508)

ElDioni 25-04-2012 17:41:29

TTreeView, como recorrer los hijos del nodo seleccionado
 
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í.

Cita:

- 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:

Código Delphi [-]
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:

Código Delphi [-]
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

Cita:

Empezado por ElDioni (Mensaje 430946)
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.


La franja horaria es GMT +2. Ahora son las 01:13:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi