数据集假设是用Query的sql语句选出来的,一个字段是父节点,一个字段是子节点:
var
pnode,cnode:TTreeNode; //父节点,子节点变量
begin
with query1 do
begin
close;
sql.clear;
sql.add('select 父节点,子节点 from mytable');
open;
end; //with
query1.first; //到第一条记录
Treeview1.Items.Clear; //清空原来的内容
while not(query1.eof) do //循环添加节点
begin
pnode:=Treeview1.Items.addchild(nil,query1.FieldByName('父节点').asstring); //父节点为nil,表示是根节点
cnode:=Treeview1.Items.addchild(pnode,query1.FieldByName('子节点').asstring); //在父节点下添加子节点
query1.next; //下一条记录
end; //while
end;
var
pnode,cnode:TTreeNode; //父节点,子节点变量
begin
with query1 do
begin
close;
sql.clear;
sql.add('select 父节点,子节点 from mytable');
open;
end; //with
query1.first; //到第一条记录
Treeview1.Items.Clear; //清空原来的内容
while not(query1.eof) do //循环添加节点
begin
pnode:=Treeview1.Items.addchild(nil,query1.FieldByName('父节点').asstring); //父节点为nil,表示是根节点
cnode:=Treeview1.Items.addchild(pnode,query1.FieldByName('子节点').asstring); //在父节点下添加子节点
query1.next; //下一条记录
end; //while
end;