我有个例子 改改就行了: procedure TForm_main.tianjiatreeview; var i: integer; node: Ttreenode; begin with dm do begin //添加公司分类: TreeView_list.Items[0].Item[0].Item[0].DeleteChildren; with ADOQuery_temp do begin close; SQL.Clear; SQL.Add('select * from gongsifenlei'); Open; end; for i := 0 to ADOQuery_temp.RecordCount - 1 do begin node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[0].Item[0], ADOQuery_temp.FieldByName('mingcheng').AsString); node.ImageIndex := 1; node.SelectedIndex := 1; ADOQuery_temp.Next; end; //添加公司行业: TreeView_list.Items[0].Item[0].Item[1].DeleteChildren; with ADOQuery_temp do begin close; SQL.Clear; SQL.Add('select * from hangye'); Open; end; for i := 0 to ADOQuery_temp.RecordCount - 1 do begin node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[0].Item[1], ADOQuery_temp.FieldByName('mingcheng').AsString); node.ImageIndex := 1; node.SelectedIndex := 1; ADOQuery_temp.Next; end; //添加联系人分类: TreeView_list.Items[0].Item[1].Item[0].DeleteChildren; with ADOQuery_temp do begin close; SQL.Clear; SQL.Add('select * from lianxirenfenlei'); Open; end; for i := 0 to ADOQuery_temp.RecordCount - 1 do begin node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[1].Item[0], ADOQuery_temp.FieldByName('mingcheng').AsString); node.ImageIndex := 1; node.SelectedIndex := 1; ADOQuery_temp.Next; end; //添加联系人来源: TreeView_list.Items[0].Item[1].Item[1].DeleteChildren; with ADOQuery_temp do begin close; SQL.Clear; SQL.Add('select * from laiyuan'); Open; end; for i := 0 to ADOQuery_temp.RecordCount - 1 do begin node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[1].Item[1], ADOQuery_temp.FieldByName('mingcheng').AsString); node.ImageIndex := 1; node.SelectedIndex := 1; ADOQuery_temp.Next; end; end; end;
var TN,TN1 : TTreenode; with adoquery1 do begin close; sql.clear; sql.text := 'select a.depname m b.empname n from 部门表 a, 员工表 b where a.depid = b.depid order by a.depname b.empname '; open; if recordcount = 0 then exit; TN := treeview1.items.add(nil,fieldbyname('m').asstring); while not eof do begin if TN = fieldbyname('m').asstring then begin treeview1.items.addchild(TN,fieldbyname('n').asstring); end else begin TN := treeview1.items.add(nil,fieldbyname('m').asstring); treeview1.items.addchild(TN,fieldbyname('n').asstring); end; next; end;
procedure TForm_main.tianjiatreeview;
var
i: integer;
node: Ttreenode;
begin
with dm do
begin
//添加公司分类:
TreeView_list.Items[0].Item[0].Item[0].DeleteChildren;
with ADOQuery_temp do
begin
close;
SQL.Clear;
SQL.Add('select * from gongsifenlei');
Open;
end;
for i := 0 to ADOQuery_temp.RecordCount - 1 do
begin
node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[0].Item[0], ADOQuery_temp.FieldByName('mingcheng').AsString);
node.ImageIndex := 1;
node.SelectedIndex := 1;
ADOQuery_temp.Next;
end;
//添加公司行业:
TreeView_list.Items[0].Item[0].Item[1].DeleteChildren;
with ADOQuery_temp do
begin
close;
SQL.Clear;
SQL.Add('select * from hangye');
Open;
end;
for i := 0 to ADOQuery_temp.RecordCount - 1 do
begin
node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[0].Item[1], ADOQuery_temp.FieldByName('mingcheng').AsString);
node.ImageIndex := 1;
node.SelectedIndex := 1;
ADOQuery_temp.Next;
end;
//添加联系人分类:
TreeView_list.Items[0].Item[1].Item[0].DeleteChildren;
with ADOQuery_temp do
begin
close;
SQL.Clear;
SQL.Add('select * from lianxirenfenlei');
Open;
end;
for i := 0 to ADOQuery_temp.RecordCount - 1 do
begin
node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[1].Item[0], ADOQuery_temp.FieldByName('mingcheng').AsString);
node.ImageIndex := 1;
node.SelectedIndex := 1;
ADOQuery_temp.Next;
end;
//添加联系人来源:
TreeView_list.Items[0].Item[1].Item[1].DeleteChildren;
with ADOQuery_temp do
begin
close;
SQL.Clear;
SQL.Add('select * from laiyuan');
Open;
end;
for i := 0 to ADOQuery_temp.RecordCount - 1 do
begin
node := TreeView_list.Items.AddChild(TreeView_list.Items[0].Item[1].Item[1], ADOQuery_temp.FieldByName('mingcheng').AsString);
node.ImageIndex := 1;
node.SelectedIndex := 1;
ADOQuery_temp.Next;
end;
end;
end;
TN,TN1 : TTreenode;
with adoquery1 do
begin
close;
sql.clear;
sql.text := 'select a.depname m b.empname n from 部门表 a, 员工表 b where a.depid = b.depid order by a.depname b.empname ';
open;
if recordcount = 0 then exit;
TN := treeview1.items.add(nil,fieldbyname('m').asstring);
while not eof do
begin
if TN = fieldbyname('m').asstring then
begin
treeview1.items.addchild(TN,fieldbyname('n').asstring);
end
else begin
TN := treeview1.items.add(nil,fieldbyname('m').asstring);
treeview1.items.addchild(TN,fieldbyname('n').asstring);
end; next;
end;
end;