QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~
9 r: Z$ Y! y% y6 p: b& Q2 _  Wprocedure Trs.TreeView1Click(Sender: TObject);
+ P9 q2 n* F* R2 m6 Ovar node: TTreeNode;
) [, K# q% y: c$ E- f' K* v1 p    strnode:string;
! h1 x& f4 [' W% }    label ok;$ F8 ?8 ]: Z7 U) f
    label haschild;
" R' d8 k1 M; N; ?7 F6 `% }    label nextnode;
" I" `! }) @. j& tbegin
$ c. A/ w+ E4 E# A% i5 |' x; k  node:=treeview1.TopItem;0 z% D' J! \' Z; P) `2 |9 k
haschild: node:=getfirstchild(node);4 X4 @+ E2 |$ G5 `3 G# u
  strnode:=node.Text;
0 u4 c; k: |: B: [0 y+ X  dm.qtree.Close;8 V# q3 \; K2 a0 w* H) z
  dm.qtree.SQL.Clear;( H/ m0 {( @5 j, L# h
  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';& C' e: q" [' c0 W' s8 S2 }
  dm.qtree.Open;  //取得该部门下所有员工姓名6 s9 n  ?" c; W
  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)( l: J* x& p( \( ~
  begin   //将所有员工姓名都作为子节点添加$ H. P4 {- L$ o( r) a5 S
    repeat, @  r* y& |3 z; s1 r
    strnode:=dm.qtree.fieldbyname('empname').AsString;. b: ~8 p- f+ c5 C9 J
    treeview1.Items.AddChild(node,strnode);  U# K8 W: T, a+ [+ f# J8 c6 {+ |
    dm.qtree.Next;
$ k# O( A- F- W% k4 r6 A* k    until dm.qtree.Eof;$ h% s( e  q; t& f7 `9 e
  end;- I+ l* P. X: G+ N) C
  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个: C6 j: h/ `7 u; M
  begin- b* N- p$ _$ r8 ^
nextnode:    node:=node.getNextSibling;  //取得下一个同级节点
6 {2 U5 i. n( ^/ C& u    goto haschild;
( [+ b0 O# \6 w6 B; h& w7 ^  end
1 t8 h4 t+ y1 A7 M/ V0 {( J  else
+ Q: ^, a4 Y& @1 k  begin
; U4 Q9 B7 \9 C: \0 t8 A    if node.Index =treeview1.Items.Count then goto ok
% z6 x' v/ \5 P  W    else goto nextnode;
; {( `9 A& n' l( c  end;+ J0 ?( z# Y& L3 f4 {; _
ok:null;* S' X" n% c% G& p% p5 y
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-10-30 09:52 , Processed in 0.660429 second(s), 68 queries .

    回顶部