QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~0 s$ B/ B$ i% y+ ~9 f( u
procedure Trs.TreeView1Click(Sender: TObject);" Y+ b/ c7 t9 F
var node: TTreeNode;+ O$ G+ ^/ x  v3 X% ^! S- ~. g
    strnode:string;
1 q8 O, E6 Q( N$ v    label ok;
* H5 h- j, ^' U+ x; J# u  b5 }" I    label haschild;
/ A6 S- e7 ]1 W: X8 J: s; k    label nextnode;
: O$ |% R3 [3 L$ n4 I, I! ibegin
# A$ R3 B; ?! ?0 ?5 `3 {  node:=treeview1.TopItem;- P! V% O. l2 d
haschild: node:=getfirstchild(node);
3 r% t" K  \+ M' n  strnode:=node.Text;
2 z+ g$ q& N9 A" D  dm.qtree.Close;
5 k$ v) k) u  O; H/ ~! d. \" H  dm.qtree.SQL.Clear;) V' J7 l$ |# m% N: T) U
  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';
6 ~. E" c. o& `0 ~  E- l9 g  dm.qtree.Open;  //取得该部门下所有员工姓名
7 F2 i3 X- B8 n9 @8 G  h: F+ ^+ o  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)
5 m' R, u6 q$ M4 Y' s. W  begin   //将所有员工姓名都作为子节点添加
0 B* t: U' Q8 F9 U    repeat
) i: m* l" }: p( h) e4 j, R4 g: y+ {    strnode:=dm.qtree.fieldbyname('empname').AsString;" \- v* \: Y" Q' P& S
    treeview1.Items.AddChild(node,strnode);
9 A# ^" |- G& e5 Q4 M) C    dm.qtree.Next;
. d% ]$ D. u8 h+ O( b9 g  \    until dm.qtree.Eof;8 d) I* L1 J% Y: g5 X; x7 T* J
  end;
2 p! ~5 @" W5 O* m9 y3 D$ a# _  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个
* X2 ~' }. M. @/ \. c  begin
" l9 y1 y! h  ], I) a1 t0 v3 {5 gnextnode:    node:=node.getNextSibling;  //取得下一个同级节点$ p, i! U9 }3 t2 c* P8 J0 U
    goto haschild;
3 B7 @+ P, K" ]* d  end* P! S. G5 o' H3 O
  else: N) S7 w' R/ K! }
  begin) r$ Z' ^1 H9 i+ ]
    if node.Index =treeview1.Items.Count then goto ok6 z5 S- P1 a( W, o+ e: I
    else goto nextnode;
) T6 ]5 Z! j' @1 d9 H  end;5 Y2 }# _) n4 c5 b
ok:null;
, C& M7 n5 o& `! ~1 ~% ?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 09:56 , Processed in 0.334148 second(s), 68 queries .

    回顶部