QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~- v+ N* t- T& O5 o8 a0 t2 @
procedure Trs.TreeView1Click(Sender: TObject);7 @$ K0 ~3 [) g& `
var node: TTreeNode;  {+ ~* p! `( ]7 d/ c6 V- s. Q
    strnode:string;9 H) L! C$ a1 j) N6 N
    label ok;" D5 Z! D" v, N- j, i! D2 u
    label haschild;" g6 I$ f. r  ]8 ^4 i* x: [( i1 Y! j
    label nextnode;5 k0 B( i2 s$ s* M+ b6 G2 S+ K5 I
begin& K. Y9 R$ k& }- b7 G4 ~% `# v
  node:=treeview1.TopItem;9 y, a9 ]  e. G+ V+ ?3 j
haschild: node:=getfirstchild(node);
3 q4 Z6 p/ @; c' _! g  strnode:=node.Text;8 p% ?+ e" @, R: ]4 Z$ Q* g; J
  dm.qtree.Close;. ?) M# m  G" F. E6 L
  dm.qtree.SQL.Clear;
$ g6 W( [, @' z% `2 \  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';
: }' G! F/ s, F) X; x8 }8 y  dm.qtree.Open;  //取得该部门下所有员工姓名3 t8 O% c5 e4 N% @- Q
  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)
1 H; s8 W# l1 e$ ]" I$ w( w  begin   //将所有员工姓名都作为子节点添加6 A# J9 S* J8 C  V# z
    repeat" c4 h- F4 M( j
    strnode:=dm.qtree.fieldbyname('empname').AsString;9 g( L# n+ i7 i% N
    treeview1.Items.AddChild(node,strnode);
% z) \4 T& a" \- r) `    dm.qtree.Next;
+ m7 q4 O, g  G    until dm.qtree.Eof;
8 @1 \$ w; n; S7 y  end;. ]. U6 ]0 r. r2 n# |1 \  W7 l
  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个
8 _# g) d$ i0 G4 i: L" v  begin
2 B3 B+ K3 W& F. Nnextnode:    node:=node.getNextSibling;  //取得下一个同级节点
6 N7 T; a' c: H% E- w    goto haschild;
9 u8 V3 P5 o* Q5 b8 p  end
' B7 a$ j8 J( m1 S' z  else
2 F; _" r) n% W  f2 u! S: h  begin, |% C$ d8 k$ H9 o5 x! h7 p: n
    if node.Index =treeview1.Items.Count then goto ok
6 j1 w7 S* D8 Y1 j5 `1 g; ?2 _  z    else goto nextnode;
, s8 |: c8 a$ t  end;7 v. i# e8 `' N. r1 @( O4 x+ ?
ok:null;
$ n& [: y+ b9 d8 eend;
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 23:29 , Processed in 0.460609 second(s), 67 queries .

    回顶部