var
List:TStringList;
Node:TTreeNode;
Index:Integer;
------------------------
cdstree.commandtext:='SELECT * from TABLE ORDER BY 上级ID,ID'
TreeView.Items.BeginUpdate;
try
TreeView.Items.Clear;
List:= TStringList.Create;
try
List.Sorted:= True;
cdsTree.First;
while not cdsTree.Eof do
begin
//如果是顶接点
if cdsTree.FieldByName( "你的上级ID ").AsInteger= 0 then
begin
Node:=TreeView.Items.AddChild(nil, cdsTree.FieldByName(mName).AsString)
end else
begin
Index:= List.IndexOf(cdsTree.FieldByName( "你的上级ID ").AsString);
Node:= TreeView.Items.AddChildFirst(TTreeNode(List.Objects[index]),
cdsTree.FieldByName( "你的字段名称 ").AsString);
end;
List.AddObject(cdsTree.FieldByName( "ID ").AsString, Node);
cdsTree.Next;
end;
finally
List.Free;
cdsTree.Close;
end;
finally
TreeView.Items.EndUpdate;
end;