其数据库的结构是: 数据库结构:
部门ID 部门名称 上级部门ID
1 总部门 -1
2 部门1 1
3 部门2 1
4 部门3 1
5 分部门1 2
6 分部门2 2
7 分部门3 2
8 子部门1 5
9 子部门1 5
PROCEDURE TForm1.newtreeview(Node:TTreeNode;ID,Name:String);
var
tmpNode : TTreeNode;
ADOquery1 : TADOQuery;
Begin
tmpNode := TreeView1.Items.AddChild(Node,Name);
ADOQuery1 := TADOQuery.Create(self);
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Text := 'select * from 部门表 where 上级部门ID='+ID;
ADOQuery1.open;
If ADOQuery1.recordcount > 0 then
Begin
ADOQuery1.First;
while not ADOQuery1.Eof do
Begin
Newtreeview(tmpNode,ADOQuery1.FieldByName('ID').AsString,
ADOQuery1.FieldByName('部门名称').AsString);
ADOQuery1.next;
End;
End;
End;
这怎么使用呀
是不是直接在procedure TForm1.Button1Click(Sender: TObject);
begin
newtreeview(Node:TTreeNode;ID,Name:String);
end;
部门ID 部门名称 上级部门ID
1 总部门 -1
2 部门1 1
3 部门2 1
4 部门3 1
5 分部门1 2
6 分部门2 2
7 分部门3 2
8 子部门1 5
9 子部门1 5
PROCEDURE TForm1.newtreeview(Node:TTreeNode;ID,Name:String);
var
tmpNode : TTreeNode;
ADOquery1 : TADOQuery;
Begin
tmpNode := TreeView1.Items.AddChild(Node,Name);
ADOQuery1 := TADOQuery.Create(self);
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Text := 'select * from 部门表 where 上级部门ID='+ID;
ADOQuery1.open;
If ADOQuery1.recordcount > 0 then
Begin
ADOQuery1.First;
while not ADOQuery1.Eof do
Begin
Newtreeview(tmpNode,ADOQuery1.FieldByName('ID').AsString,
ADOQuery1.FieldByName('部门名称').AsString);
ADOQuery1.next;
End;
End;
End;
这怎么使用呀
是不是直接在procedure TForm1.Button1Click(Sender: TObject);
begin
newtreeview(Node:TTreeNode;ID,Name:String);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货