jejejejeje Hay que avanzarle..., así es ésto de los aviones, que vuelen y no se caigan...
Bueno el caso es que ya tengo un TTreeView con datos, todos ellos el nombre de una dependencia del GDF, y ahora, debo tomar un texto señalado y buscarlo en una tabla. ¿Alguna orientación rápida, por favor?
[RESUELTO] Tomar dato de un TTreeView
Comenzado por
TiammatMX
, mar 12 2010 10:00
3 respuestas en este tema
#1
Escrito 12 marzo 2010 - 10:00
#3
Escrito 12 marzo 2010 - 10:41
Ese TreeView me suena
Si la clave para buscar en dicha tabla es un número entero, puedes realizar un truco que consiste en almacenar en el nodo el valor numérico correspondiente. Al crear el TreeView, emplea la función AddChildObject n vez de AddChild, y como último parámetro le pasas el valor entero, esta función espera ahí un puntero, así puedes moldearlo de esta forma:
AddChildObject(NodoPadre, 'Texto', Pointer(ValorClave));
Luego, cuando el usuario clickee sobre dicho nodo, en el evento OnClick obtienes el nodo seleccionado mediante TreeView.Selected y accedes al valor almacenado anteriormente mediante su propiedad Data.
Si la clave para buscar en dicha tabla es un número entero, puedes realizar un truco que consiste en almacenar en el nodo el valor numérico correspondiente. Al crear el TreeView, emplea la función AddChildObject n vez de AddChild, y como último parámetro le pasas el valor entero, esta función espera ahí un puntero, así puedes moldearlo de esta forma:
AddChildObject(NodoPadre, 'Texto', Pointer(ValorClave));
Luego, cuando el usuario clickee sobre dicho nodo, en el evento OnClick obtienes el nodo seleccionado mediante TreeView.Selected y accedes al valor almacenado anteriormente mediante su propiedad Data.
delphi
procedure TfrmPrncpl.TreVewArblArsClick(Sender: TObject); var Valor : Integer; begin Valor := Integer(TreVewArblArs.Selected.Data); // Buscar dicho valor en el DataSet end;
#4
Escrito 12 marzo 2010 - 10:52
¡¡EXCELENTEEEE!!, y siguiendo sus consejos, amigos, queda así...
Y sí, Andrés..., es "ése" TTreeView... jejejejeje
delphi
procedure TfrmPrncpl.TreVewArblArsClick(Sender: TObject); begin dtamdlDts.ADOQryEdcn.Active := False; dtamdlDts.ADOQryEdcn.Parameters.ParamByName('Nmbr').Value := TreVewArblArs.Selected.Text; dtamdlDts.ADOQryEdcn.Active := True; end;
Y sí, Andrés..., es "ése" TTreeView... jejejejeje