QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~; m; i9 k7 q2 H7 \5 n* \( h! m/ o
procedure Trs.TreeView1Click(Sender: TObject);! A* ?9 F2 i' V' P/ e0 S
var node: TTreeNode;' L: j$ _" Z/ A/ `% g& \3 w% Q' F  V
    strnode:string;" p$ T, D. u3 u3 w. _
    label ok;
& o+ A5 \  @0 C% w    label haschild;
; C: f2 V$ M2 {    label nextnode;
  l% `/ l/ M5 o& e  M7 Ybegin
- n0 Y( E7 Z" @& f8 D9 u6 S  node:=treeview1.TopItem;
/ V" ?! g, C  bhaschild: node:=getfirstchild(node);, P0 n5 I) L! E% N
  strnode:=node.Text;
; V2 x& y  h% I: x  dm.qtree.Close;- J3 f2 y- A- T- K) ~
  dm.qtree.SQL.Clear;0 p; [) g9 l& K
  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';" A1 r6 f  i% v2 }' s) q
  dm.qtree.Open;  //取得该部门下所有员工姓名
( \) ~2 O2 g1 M7 a2 F; F  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)' r" ~" L9 i/ ?! z/ n, u; `
  begin   //将所有员工姓名都作为子节点添加# R: X% M0 k% }- d
    repeat
. H1 w9 j# n: y  b8 v    strnode:=dm.qtree.fieldbyname('empname').AsString;
$ p, g. h& @* d    treeview1.Items.AddChild(node,strnode);
. D' [7 n9 w. b. L" W- d    dm.qtree.Next;
. }8 x, B- ^+ D  ?, R    until dm.qtree.Eof;0 n+ e& y- E. \  H+ Q3 b/ \6 B
  end;; _+ F: R/ s7 E' V0 H) N
  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个& V; v! S/ `7 u# X7 s2 ~
  begin
1 e& I) d2 T. H9 x" d: X/ \. `nextnode:    node:=node.getNextSibling;  //取得下一个同级节点. [# A7 f& d3 j9 i% I5 b
    goto haschild;
0 f9 s' A" l9 O& J# k9 k  end. I! D/ z2 `7 D1 Y$ t2 C
  else
' C4 X* Z2 X! k  begin
; p1 Q5 p7 p+ R, E    if node.Index =treeview1.Items.Count then goto ok
' ~8 g9 T% p. V1 t* i: q    else goto nextnode;
" s5 J2 W* K; ]2 x# E* o, {; @3 B  end;
9 x8 n  j+ c! [: \* Jok:null;
5 Q( o6 b8 [$ x  c8 n2 ^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 14:57 , Processed in 0.485021 second(s), 68 queries .

    回顶部