主题:回答的加分.请教TREEVIEW的问题.生成树视图
Ttable=array[1..200,1..2] of string;
var
frmemployee: Tfrmemployee;
mytable:Ttable;//定义结构
procedure Tfrmemployee.Button7Click(Sender: TObject);//按按钮生成树结构
var
pnode:TTreeNode;
i:integer;
scode,sname:string;
ParentIndex,scode1,scode2,level:integer;
//定义变量
begin
aqryDepartment.Open;
//查找数据库
i:=1;
while not aqryDepartment.Eof do
begin
scode:=aqryDepartment.fieldByName('DepartmentNo').AsString;
sname:=aqryDepartment.fieldByName('DepartmentName').AsString;
scode1:=aqryDepartment.fieldByName('DepartmentNo').AsInteger;
scode2:=aqryDepartment.fieldByName('UpperDepartmentNo').AsInteger;
ParentIndex:=aqryDepartment.fieldByName('UpperDepartmentNo').AsInteger;
level:=aqryDepartment.fieldByName('level').AsInteger;
mytable[i,1]:=scode;
mytable[i,2]:=sname;
i:=i+1;
//生成父辈树
if (level=0) then
begin
treeview1.items.AddFirst(nil,sname);
end
else
//生成父辈树后的子项目....这里不知道怎么写了.....
begin
if(level<>0) then
//pnode:=treeview1.Items.Item[ParentIndex].Parent;
//到这里编译成功但是运行就报错
treeview1.Items.AddChild(,sname);
end;
aqryDepartment.Next;
end;
end;
数据库里面就是这样的....怎么办啊....求解
DepartmentNo DepartmentName UpperDepartmentNo Manager Address Telephone level
1 人事部 0 王小二 南昌市后墙路131号 6636000 1
2 保安部 0 王小三 南昌市后墙路131号 5986245 1
3 采购总部 0 王小四 南昌市后墙路131号 4581254 1
4 会计部 0 李小二 南昌市后墙路131号 3836916 1
5 营销部 0 张小二 南昌市后墙路131号 3816937 1
6 研发部 0 张小三 南昌市后墙路131号 5298347 1
7 统计部 0 胡小二 南昌市后墙路131号 2468531 1
8 计划部 0 张小药 南昌市后墙路133号 4562589 1
9 档案部 0 王小斯 南昌市后墙路131号 5647215 1
10 采购一部 3 撒小里 南昌市后墙路131号 9632587 3
11 采购二部 3 许司 南昌市后墙路121号 1234568 3
12 采购三部 3 扫小二 南昌市苏蒲路131号 5642157 3
13 售后服务部 13 王小欲 南昌市后墙路131号 3256489 13
14 维修一部 13 王小爱 南昌市后墙路131号 8521470 13
15 维修二部 13 王小饿 南昌市中山路161号 02156487 13
var
frmemployee: Tfrmemployee;
mytable:Ttable;//定义结构
procedure Tfrmemployee.Button7Click(Sender: TObject);//按按钮生成树结构
var
pnode:TTreeNode;
i:integer;
scode,sname:string;
ParentIndex,scode1,scode2,level:integer;
//定义变量
begin
aqryDepartment.Open;
//查找数据库
i:=1;
while not aqryDepartment.Eof do
begin
scode:=aqryDepartment.fieldByName('DepartmentNo').AsString;
sname:=aqryDepartment.fieldByName('DepartmentName').AsString;
scode1:=aqryDepartment.fieldByName('DepartmentNo').AsInteger;
scode2:=aqryDepartment.fieldByName('UpperDepartmentNo').AsInteger;
ParentIndex:=aqryDepartment.fieldByName('UpperDepartmentNo').AsInteger;
level:=aqryDepartment.fieldByName('level').AsInteger;
mytable[i,1]:=scode;
mytable[i,2]:=sname;
i:=i+1;
//生成父辈树
if (level=0) then
begin
treeview1.items.AddFirst(nil,sname);
end
else
//生成父辈树后的子项目....这里不知道怎么写了.....
begin
if(level<>0) then
//pnode:=treeview1.Items.Item[ParentIndex].Parent;
//到这里编译成功但是运行就报错
treeview1.Items.AddChild(,sname);
end;
aqryDepartment.Next;
end;
end;
数据库里面就是这样的....怎么办啊....求解
DepartmentNo DepartmentName UpperDepartmentNo Manager Address Telephone level
1 人事部 0 王小二 南昌市后墙路131号 6636000 1
2 保安部 0 王小三 南昌市后墙路131号 5986245 1
3 采购总部 0 王小四 南昌市后墙路131号 4581254 1
4 会计部 0 李小二 南昌市后墙路131号 3836916 1
5 营销部 0 张小二 南昌市后墙路131号 3816937 1
6 研发部 0 张小三 南昌市后墙路131号 5298347 1
7 统计部 0 胡小二 南昌市后墙路131号 2468531 1
8 计划部 0 张小药 南昌市后墙路133号 4562589 1
9 档案部 0 王小斯 南昌市后墙路131号 5647215 1
10 采购一部 3 撒小里 南昌市后墙路131号 9632587 3
11 采购二部 3 许司 南昌市后墙路121号 1234568 3
12 采购三部 3 扫小二 南昌市苏蒲路131号 5642157 3
13 售后服务部 13 王小欲 南昌市后墙路131号 3256489 13
14 维修一部 13 王小爱 南昌市后墙路131号 8521470 13
15 维修二部 13 王小饿 南昌市中山路161号 02156487 13