delphi 节点遍历

auzn496386151 2012-12-19 10:50:39

问下大家个问题啊
我这个人员对应部门,我好比项目一部点击下,会出来包括节点以下的所有人员

但是我写的这个,不知道怎么把下级节点人员查找出来
好比项目一部的下级节点裁剪部下的人员我就查询不出来。。。不知道怎么办。。。各位大神。。。。。帮个忙。。
不胜感激,方法最好具体点啊。。
...全文
244 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadow1986a 2012-12-19
  • 打赏
  • 举报
回复
顶一个,来学习下。
haitao 2012-12-19
  • 打赏
  • 举报
回复
修改一点:
var
  p:Ttreenode;
  b,e,i:integer;
  s:string;

p:=TV.selected;
b:=p.AbsoluteIndex;
if p.getNextSibling=nil then
  e:=TV.items.count-1
else
  e:=p.getNextSibling.AbsoluteIndex-1;
s:='''-1'''
for i:=b+1 to e do
  s:=s+','''+TV.items[i].text+'''';
s即所有子节点的列表
auzn496386151 2012-12-19
  • 打赏
  • 举报
回复
引用 1 楼 sz_haitao 的回复:
1、先从treeview里取得它的所有子节点(包括孙)的id 2、select * from 人员表 where 部门 in (上面得到的id列表)
如何查询id哪?、我是一个父节点和一个子节点两个字段
haitao 2012-12-19
  • 打赏
  • 举报
回复
var
  p:Ttreenode;
  b,e,i:integer;
  s:string;

p:=TV.selected;
b:=p.AbsoluteIndex;
if p.getNextSibling=nil then
  b:=TV.items.count-1
else
  b:=p.getNextSibling.AbsoluteIndex-1;
s:='''-1'''
for i:=b+1 to e do
  s:=s+','''+TV.items[i].text+'''';
s即所有子节点的列表
auzn496386151 2012-12-19
  • 打赏
  • 举报
回复
引用 2 楼 bdmh 的回复:
参考http://blog.csdn.net/bdmh/article/details/5857236,这里是全部读取过来了,如果你在点击时读取,就在treeview的节点展开事件中读取下一级
我不是要生产树啊,我部门是在另外一个界面事先设置好的,然后再我上图中根据设置好的部门添加人员到另一个表中,然后我点击一个节点会显示对应这个节点的人员信息,但是,如果节点下边还有节点,我不知道怎么查询了 -------------------------------------------------------------------------------- a部门 b部门 b1部门 c部门 我查询时就只能查到a部门下边的c部门里信息,b部门下的b1部门对应人员信息我就查不到了
bdmh 2012-12-19
  • 打赏
  • 举报
回复
参考http://blog.csdn.net/bdmh/article/details/5857236,这里是全部读取过来了,如果你在点击时读取,就在treeview的节点展开事件中读取下一级
haitao 2012-12-19
  • 打赏
  • 举报
回复
1、先从treeview里取得它的所有子节点(包括孙)的id 2、select * from 人员表 where 部门 in (上面得到的id列表)

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧