QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~7 N' r( k5 V& ^0 j5 D
procedure Trs.TreeView1Click(Sender: TObject);( [* x8 N& R, t7 g2 G
var node: TTreeNode;8 b9 L4 e, q# D/ P& S  }
    strnode:string;
3 z) S0 I5 E: l2 ^) i9 n$ V    label ok;2 O3 \* q/ h6 r: T  z. ?
    label haschild;
! w% T& r: I) O4 b& |# Q    label nextnode;
( H  c( B/ R* W$ d: Zbegin
4 p' o2 Q1 s3 L  node:=treeview1.TopItem;
" i# H8 p, ]! S$ u  u3 ~haschild: node:=getfirstchild(node);1 [  `, O/ M( `. P4 z* e
  strnode:=node.Text;& A0 o+ e3 S$ W; @( L
  dm.qtree.Close;5 n4 g5 d  [7 z- R* @
  dm.qtree.SQL.Clear;
5 z  q1 ^7 m* L& X- [  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';
9 N* v4 w& e7 v: x; Z; ?  dm.qtree.Open;  //取得该部门下所有员工姓名
2 O- q1 v1 p5 t  `0 T) z  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)
, r; ^2 p$ t: w( M8 h  e+ m  begin   //将所有员工姓名都作为子节点添加
# U  d5 t' u3 O8 D% r) {! ?    repeat
; O9 \% b: h% w+ a/ `    strnode:=dm.qtree.fieldbyname('empname').AsString;
$ n! n4 f3 t: Y$ N    treeview1.Items.AddChild(node,strnode);
/ G/ W9 H2 v' R0 y    dm.qtree.Next;& J1 h0 l0 {6 Y$ u4 N$ |
    until dm.qtree.Eof;
8 C' M5 W) g7 X) N1 I  C2 T- J  p  end;
% O6 B0 k1 [  C& `  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个9 ^3 x: g; }1 G6 ]0 \. z( K0 B
  begin
* b& l$ F% f9 p0 X' wnextnode:    node:=node.getNextSibling;  //取得下一个同级节点- z& j' B' }: @- s, P
    goto haschild;5 R# ~" Y( L% K" D
  end
: _- d: n) T4 r. c3 i( e  else! Q4 |/ H  `. \$ t* ?% C
  begin
. P& t# Z$ j2 w7 B" m" F+ Y( ]    if node.Index =treeview1.Items.Count then goto ok- h% Q  U# e+ g2 r
    else goto nextnode;; z  v4 A7 T! N, j$ M; ^8 H* e7 u
  end;
5 j0 I' M- a* Z! p8 ]# tok:null;' ?# A. N8 k# q6 J/ ^( x- T. N
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:24 , Processed in 0.559954 second(s), 68 queries .

    回顶部