QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4067|回复: 2
打印 上一主题 下一主题

关于treeview遍历,并添加子节点

[复制链接]
字体大小: 正常 放大
boyle        

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~
7 m# w* D! j! vprocedure Trs.TreeView1Click(Sender: TObject);; X; a% e  l$ |
var node: TTreeNode;
) E- O7 j# _4 x    strnode:string;+ |* n1 J3 f9 G& y# G  L( m- Q
    label ok;
! |# T0 }/ r* t+ p7 Q% E    label haschild;/ i: P! J6 q. _* U1 b, V
    label nextnode;* P. V# k4 J: ~+ L0 q# _& B
begin$ ]) t- a  b' F4 o1 p2 U% X
  node:=treeview1.TopItem;
; c+ _1 X1 S' D$ U" v5 rhaschild: node:=getfirstchild(node);
' Z4 M2 C) w" O1 Q+ s: Y6 E  strnode:=node.Text;
: }) J) h- N9 L8 `7 ?" ]6 Q  dm.qtree.Close;, h: }( Y; Z& N7 j  |. u
  dm.qtree.SQL.Clear;
6 u4 I$ j& h, f0 |  H" v: E& U. U+ `& F  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';+ Q/ d, ]) m/ z' b
  dm.qtree.Open;  //取得该部门下所有员工姓名) \7 `" O7 e$ s& H7 w8 l) H/ V% {! ^
  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)
5 d' {5 q& C. R# v. o" \  begin   //将所有员工姓名都作为子节点添加- w8 t7 Z' c( A/ ~. g2 ]
    repeat
3 U) {: R% P6 O( Q9 a    strnode:=dm.qtree.fieldbyname('empname').AsString;
* F9 ?5 n" W. L; T/ [    treeview1.Items.AddChild(node,strnode);
1 p' J* i  u% ^& ^! K    dm.qtree.Next;
2 D1 q& f9 Y- B' j; B( z    until dm.qtree.Eof;
/ M# L" i" Y, q1 Z  n2 j! h; J& }4 K  end;8 j! i' E9 B" ?: H+ @6 b
  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个' j2 f) O" ?$ {- P- D9 }  e- r
  begin! ]) V1 K+ V  |8 I9 R; x; T
nextnode:    node:=node.getNextSibling;  //取得下一个同级节点  ?' ^: _8 `* T
    goto haschild;$ Q9 I9 i5 d& h& r" o0 G. l2 ~
  end
6 N1 W) d1 R4 g  else9 w7 ?/ u0 i. ~1 r" {
  begin
. D; p& l1 ~3 E7 Z    if node.Index =treeview1.Items.Count then goto ok
8 n3 m$ T- R3 L    else goto nextnode;  p# C0 u% C' g" x& W( }, X6 r
  end;* m/ x; y0 T7 D% g) F$ j& [
ok:null;4 C; o. }. `8 l% j
end;
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
ilikenba 实名认证       

1万

主题

49

听众

2万

积分

  • TA的每日心情
    奋斗
    2024-6-23 05:14
  • 签到天数: 1043 天

    [LV.10]以坛为家III

    社区QQ达人 新人进步奖 优秀斑竹奖 发帖功臣

    群组万里江山

    群组sas讨论小组

    群组长盛证券理财有限公司

    群组C 语言讨论组

    群组Matlab讨论组

    回复

    使用道具 举报

    xtmlj        

    0

    主题

    2

    听众

    95

    积分

    升级  94.74%

    该用户从未签到

    新人进步奖

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-20 06:29 , Processed in 0.470960 second(s), 68 queries .

    回顶部