树结构数据装入delphi的TTreeview组件中
数据库结构
Create table zhibiaotb (id int primary key,name varchar(100),type int ,upid int)
首先定义 树结点的结构:
TUnitNodeInfo = record
ID: integer;
Name: string;
unitType: integer;
Upid: integer;
end;
PUnitNodeInfo = ^TUnitNodeInfo;
装入过程:
procedure Tfrminput.CreateTree(TreeNode: TTreeNode; Upid: integer; xtype: integer);
var
I: integer;
PNodeInfo: PUnitNodeInfo;
TmpTreeNode: TTreeNode;
ID: integer;
Tmpid: integer;
TmpUpid: integer;
mtype: integer;
begin
ADOQuery1.Filtered := false;
ADOQuery1.Filter := Format('upid=%d and type=%d', [Upid, xtype]);
ADOQuery1.Filtered := true;
ADOQuery1.First;
TmpTreeNode := TreeNode;//保存该递归层的节点位置,以便下层能返回上层
for I := 0 to ADOQuery1.RecordCount - 1 d