QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~" l! N9 x) H: B+ R: f, ?7 \
procedure Trs.TreeView1Click(Sender: TObject);
1 y* H$ R- f% }$ V! I- k% L0 j; U* jvar node: TTreeNode;
; D  m8 w. h8 [& A: M/ s# o* M    strnode:string;
. i, Q3 y+ x+ L    label ok;0 C( a) S1 P6 R9 i) L/ h
    label haschild;, ]6 j" O( c$ C5 U9 @
    label nextnode;
' o3 `% x& M9 }1 Hbegin" O% V, z! \# O  B% X. W" X
  node:=treeview1.TopItem;- ~6 z# C8 g# f
haschild: node:=getfirstchild(node);
! O( r8 y' k7 T! W/ F! G  strnode:=node.Text;: x- x+ x2 h+ F" Y% W9 o  q
  dm.qtree.Close;
/ B3 w6 u) }0 E  dm.qtree.SQL.Clear;5 V% A: }" L! J1 h  m
  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';. c# d5 O2 a3 Z/ J' Q5 B% ^
  dm.qtree.Open;  //取得该部门下所有员工姓名
' h% E% {4 h" P7 j# e) S  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)! g+ r$ X' M5 A
  begin   //将所有员工姓名都作为子节点添加  q8 b# k9 z9 x- j% {. P2 n
    repeat$ W5 c1 @1 Y& O
    strnode:=dm.qtree.fieldbyname('empname').AsString;3 \( n- y( u+ y" t- r7 f2 P0 i/ c
    treeview1.Items.AddChild(node,strnode);/ [5 h0 n) m5 G1 t
    dm.qtree.Next;% I0 {  {$ o* K1 C
    until dm.qtree.Eof;, @/ ]8 x, M8 M7 U" d
  end;: K4 M* c/ O' D) ~  R/ ~0 N$ b# M
  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个. v/ B8 F3 t" k) e
  begin6 W* Z2 ^" ?6 p! ]7 A! F
nextnode:    node:=node.getNextSibling;  //取得下一个同级节点4 q! G* A# p3 Z  p
    goto haschild;+ X+ l3 O9 o0 G
  end
  d) i% [# p' Q" Z. n. M  else
. S  j- ^; O1 X/ z5 ?$ }  begin
5 `: ^8 N8 i* s    if node.Index =treeview1.Items.Count then goto ok
, t6 I$ Y4 ?- ^    else goto nextnode;2 t, `3 z1 R2 j1 C
  end;
6 e* j# l; D5 k5 }ok:null;
. Z5 U2 [5 _( q$ l. @0 h0 fend;
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-15 03:27 , Processed in 0.711360 second(s), 68 queries .

    回顶部