永发信息网

delphi treeview根节点中添加节点的问题(急)

答案:1  悬赏:80  手机版
解决时间 2021-04-16 20:29
procedure loadUser(Sender: TObject; qry1, qry2: TADOQuery; tree: TspSkinTreeView; var treeNode1, treeNode2, treeNode3: TTreeNode);
//tree: TspSkinTreeView为皮肤控件类型

procedure TfrmUserMgr.loadUser(Sender: TObject; qry1, qry2: TADOQuery; tree: TspSkinTreeView; var treeNode1, treeNode2, treeNode3: TTreeNode);
begin
with qry1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from user');
Open;
end;

Case qry1.fieldbyname('user_rights').AsInteger of
0:
begin
treeNode1 := tree.Items.Add(nil,'管理员');
with qry2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from user where user_rights=0');
Open;
end;
while not qry2.Eof do
begin
tree.Items.Add(treeNode1,qry2.fieldbyname('user_name').AsString);
qry2.Next;
end;
end;

1:
begin
treeNode2:=tree.Items.Add(nil,'操作员');
with qry2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from user where user_rights=1');
Open;
end;
while not qry2.Eof do
begin
tree.Items.Add(treeNode2,qry2.fieldbyname('user_name').AsString);
qry2.Next;
end;
end;

2:
begin
treeNode3:=tree.Items.Add(nil,'普通用户');
with qry2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from user where user_rights=2');
Open;
end;
while not qry2.Eof do
begin
tree.Items.Add(treeNode3,qry2.fieldbyname('user_name').AsString);
qry2.Next;
end;
end;
qry1.next;
end;
end;
要实现
0---|管理员----|用户a
| |用户b
| |用户c
1---操作员----|用户d
| |用户e
| |用户f
2---|普通用户--|用户g
应该如何修改代码?现在能显示所有内容,但是比如操作员有N个用户,那么就会出现N个操作员的根节点,哪位大虾帮忙?
最佳答案
begin
treeNode2:=tree.Items.Add(nil,'操作员');
with qry2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from user where user_rights=1');
Open;
end;
while not qry2.Eof do
begin
// 注意这里,只要把Add改成AddChild就可以了 tree.Items.AddChild(treeNode2,qry2.fieldbyname('user_name').AsString);
qry2.Next;
end;
end;


其它类同,
TTreeView.Items.Add是添加根结点
TTreeView.Items.AddChild是在第一个参数指示的节点下添加一个节点
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样开机时隐藏用户?
赞美风景和人的诗句,赞美南方山水诗句
什么方法能提高记忆力
小笼包快餐店总店地址在哪,我要去那里办事
安全第一了吗诗歌,好段摘抄300字加评语100字
计算机等级考试的内容可以不报班自己学会吗?
壹佰二拾五元小写?
boy grandmother father哪个不同类
跟伊朗做30%T/T in advance,balance by B/L c
波伏娃经典语录法文,西蒙娜德波伏娃《第二性
我爱我之家欧韩整体家居装饰旗舰店在哪里啊,
来不及日语怎么说,万箭穿心 痛不痛韩文翻译怎
问道80级穷人怎样升级
深圳宝安区西乡盐田劳动局的具体地址
单选题选出下列各句中“而”字用法不同的一项
推荐资讯
会计名词/??
白居易庐山诗句,写庐山的诗有哪些
修行在自身的前一句,修行在自身的下一句是什
有人认识杨旭文吗?是个新人演员。将来会红吗
一体机里面都有内置的无线网卡吗?
培训学校招生应该注意哪些问题?怎样才能更有
冒险岛截图保存在哪里,冒险岛避风港巨匠的换
自创儿童诗歌,四年级自创儿童诗 ,怎样编. 7·
什么方法一定能使化学反应速率增大?A升高温度
成语,古诗词,谚语歇后语,名言警句积累
拼读词组用英语怎么说,英语怎么拼读啊
热敏电阻在电性和应用上的区别
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?