QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |正序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~0 q1 ?$ E, h+ V4 L) X; P
procedure Trs.TreeView1Click(Sender: TObject);
$ b& @$ W3 o& h% [' A' k. C7 Wvar node: TTreeNode;
0 i, ~& L' D* |8 B0 Q( Q    strnode:string;# c/ q) y8 w& B5 t
    label ok;
, H$ B0 Y. m( U    label haschild;3 \. H  l; X! ?* s
    label nextnode;+ l' U# s1 |1 X6 G) y
begin1 I5 }" T6 Q6 H" `: S, j
  node:=treeview1.TopItem;  A: T  F  H: Q% o- Y
haschild: node:=getfirstchild(node);
* ]; F3 d7 N2 R; g# K  strnode:=node.Text;
- `! d* C% ^0 `( u; V  dm.qtree.Close;6 R8 e! t- U3 z7 n; ~+ M
  dm.qtree.SQL.Clear;: }. _/ h3 U$ i& d& N# ]& _
  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';1 e7 }" i& Y8 c6 B: A  ?
  dm.qtree.Open;  //取得该部门下所有员工姓名
' [, ?, n, j; v# [3 R# @  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)$ L$ @- R: t  O2 S1 Q
  begin   //将所有员工姓名都作为子节点添加! v% z+ y! F% n0 M% m
    repeat# z* g8 @: d- |, ~
    strnode:=dm.qtree.fieldbyname('empname').AsString;+ s2 B) v& c) O: @. [5 o
    treeview1.Items.AddChild(node,strnode);9 M% S1 M0 u% ^6 Z. @
    dm.qtree.Next;
8 Z' n9 B7 y9 [/ i, ~, |: e) W    until dm.qtree.Eof;
2 i5 Q$ U$ \5 m- D; {  end;- c% R' b7 @- }. p8 |
  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个, @0 {- W2 E. ?5 K) h' ?; s
  begin
6 e) t5 p. Y- U3 V# ]% mnextnode:    node:=node.getNextSibling;  //取得下一个同级节点' K2 R" V/ Y4 |: c/ Y
    goto haschild;
" e5 ?! h0 G1 S2 B8 s- g  end# ?- w) z6 g9 M4 C5 }" Y/ ^, ^3 `
  else3 L' e6 C/ N# I$ e( H
  begin) B+ Q9 x# {* q3 z
    if node.Index =treeview1.Items.Count then goto ok
# X/ o- L! Y7 l' s* y    else goto nextnode;. D' H/ ?& T' n) _* Q
  end;
% u. i2 E$ j* a: uok:null;* ^4 E% s+ x' Z- ?
end;
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
xtmlj        

0

主题

2

听众

95

积分

升级  94.74%

该用户从未签到

新人进步奖

回复

使用道具 举报

ilikenba 实名认证       

1万

主题

49

听众

2万

积分

  • TA的每日心情
    奋斗
    2024-6-23 05:14
  • 签到天数: 1043 天

    [LV.10]以坛为家III

    社区QQ达人 新人进步奖 优秀斑竹奖 发帖功臣

    群组: 万里江山

    群组: sas讨论小组

    群组: 长盛证券理财有限公司

    群组: C 语言讨论组

    群组: Matlab讨论组

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-10-25 06:56 , Processed in 3.272538 second(s), 68 queries .

    回顶部