数据集假设是用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;
本文介绍了一种使用SQL查询从数据库中获取父子节点关系,并利用Delphi编程语言将其转化为树状数据结构的方法。通过具体代码示例展示了如何创建树形结构以方便数据展示和操作。
270

被折叠的 条评论
为什么被折叠?



