On Sat, 4 Jul 2015, Susie Nicol wrote:

Hi - me again

I have a Lazarus treeview, which I am populating from several sql queries.

I add  child nodes in this way, setting them to one of the fields returned from 
the query

           while Not SQLQuery1.EOF do
          Begin
 
          treeview1.items.addchild(treeview1.selected, 
SQLQuery1.fields[0].AsString);
 
           SQLQuery1.Next
          end;    

That works of course.

I want to modify the newly added node by setting its data property to another 
field in the loop - something like

    treeview1.SOMETHING.data := Pointer(SQLQuery1.fields[1].AsInteger);

but the problem is that I can't work out how to identify the newly-added child 
node.  Is it possible?

Not like this. You need to keep a reference when doing an AddChild:

Var
  N : TTreeNode;

begin
  N:=Treeview1.items.addchild(treeview1.selected, SQLQuery1.fields[0].AsString);
  N.data := Pointer(SQLQuery1.fields[1].AsInteger);
end;

Michael.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to