QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~, j* ]/ ?, a$ p1 r4 W2 q8 t2 T
procedure Trs.TreeView1Click(Sender: TObject);3 K6 D: d% @; O" F3 v; p+ R
var node: TTreeNode;* t! w% {7 Z( w0 S# g" M  u, o; C
    strnode:string;9 B! H' u1 d4 V. Y
    label ok;0 k6 M) R. L; ?+ I+ ]$ v; C' n9 }
    label haschild;
; o4 o' A" F! F$ E0 J3 T    label nextnode;
4 D. T, y4 U6 S3 y6 _. N% Ubegin
/ p7 p/ y+ P* P2 E3 h  node:=treeview1.TopItem;
1 t% d; q! }4 r1 X$ P/ d. C9 b3 ^haschild: node:=getfirstchild(node);( |- C% h" k% w, ?. E
  strnode:=node.Text;
2 Y+ _; E! F# J" P( H; {  dm.qtree.Close;
& r- }# W$ X" c4 \* R2 P  dm.qtree.SQL.Clear;
0 T2 }" ^# ^0 o  H' \3 L* _3 T  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';
' J1 F, P) L$ |1 _( `, B  dm.qtree.Open;  //取得该部门下所有员工姓名2 J% k# W1 u4 |& N; q$ z; w
  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)
% H- B7 M/ H9 {9 G: @  begin   //将所有员工姓名都作为子节点添加+ ]3 A( _2 L( W, Q
    repeat! p: ]; X4 S! |( K3 R9 N; Y
    strnode:=dm.qtree.fieldbyname('empname').AsString;' c# p2 r& i  }9 y
    treeview1.Items.AddChild(node,strnode);9 P9 A" [. u2 e1 b9 n
    dm.qtree.Next;
: b, o) G+ O  ]/ g8 Z! I    until dm.qtree.Eof;
  h, N& [/ S/ h: i* E  end;) A& `- `2 i8 H' K" b6 p
  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个8 a" ]9 g; E+ U3 [# n
  begin3 Z" N' ^* J0 q7 ]
nextnode:    node:=node.getNextSibling;  //取得下一个同级节点
" d' K9 b" V/ W1 L% Z- h! D- D6 ?    goto haschild;0 u' j4 X2 X2 F8 A* M
  end' s) o: c0 q$ c' w' t4 C
  else
- G9 U' u1 u7 r2 u  begin3 V9 V$ L4 e. p+ I8 \/ j
    if node.Index =treeview1.Items.Count then goto ok, D0 g% N9 P) ^) g" N
    else goto nextnode;4 T- ~: }  ^1 t2 F' B* }
  end;1 {" Y6 F3 D! |+ _  @1 g5 T& {
ok:null;
6 G# w0 A) s: d7 c. Send;
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-6-11 12:14 , Processed in 0.286491 second(s), 68 queries .

    回顶部