QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-2-2 10:32 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想实现这样的功能,遍历tree中的节点。树是单位的部门结构树,节点是其中部门,已经添加好的。我想遍历树中所有节点,如果没有子节点说明是单位中的最小部门,然后查询改部门的员工并添加到该部门以下。下面的代码,一直都出错,好像是内存读取错误。请帮忙,三拜~~~2 _: S7 L0 `' N2 t
procedure Trs.TreeView1Click(Sender: TObject);3 p' I  H2 k! v  r& M, v: `
var node: TTreeNode;% @4 f- ~) t' n7 |1 @
    strnode:string;
' w' v; l9 e% Y' W' u    label ok;6 y3 m$ l7 ~- e5 v
    label haschild;. y1 ^& c! n0 V  D7 ~+ L8 E" F
    label nextnode;
6 h1 q$ P9 V/ {) s2 Vbegin
0 r# Z& g& h: O% y5 w% x4 _  node:=treeview1.TopItem;* g( Y3 h6 E  l1 B% M; V* j, E  ^
haschild: node:=getfirstchild(node);* z# M) I- K5 a& g% Y) C. K
  strnode:=node.Text;6 p( H+ A0 \, P0 y( ?
  dm.qtree.Close;
, I. ]7 l3 X' p4 X3 M  dm.qtree.SQL.Clear;2 g! Y' C% q9 F% |/ o8 G
  dm.qtree.SQL.Text:='select empname from empbasic where depid='+''''+strnode+'''';5 d: \, M- ~1 X6 r
  dm.qtree.Open;  //取得该部门下所有员工姓名$ }/ v+ Y; c2 m' ?3 ~5 s7 w# ^2 n
  if not(dm.qtree.IsEmpty) then   //如果记录非空(即该部门下有员工)6 c) ^2 I( I+ F: N5 d
  begin   //将所有员工姓名都作为子节点添加* O" U+ j* M: ]- \. T5 y
    repeat
" x% K8 ?9 g  E; @. I( K    strnode:=dm.qtree.fieldbyname('empname').AsString;; c5 m) s- \: o( M5 n0 b0 k
    treeview1.Items.AddChild(node,strnode);
7 E' A8 K) G# w: b9 Y9 v& c0 o    dm.qtree.Next;
: _" X4 d" a* G: {    until dm.qtree.Eof;
1 ]9 H4 p& G) X, `* x  end;
4 f" b6 R* o! t9 c2 O  if not(node.IndexOf(node.Parent)=node.Parent.Count -1) then //如果当前节点不是同级节点最后一个) [2 A9 |$ U/ Y$ e# g( k
  begin
+ R2 b! S( I' l: `( o" f4 hnextnode:    node:=node.getNextSibling;  //取得下一个同级节点
+ z; n% x% I3 Z2 s+ D; D* c  X3 G    goto haschild;7 D8 E( X0 t8 Z# a
  end
) A1 U. C5 R; G4 Z! e  else
9 {  Q' O* k2 R3 @1 ?4 A2 r) B4 Z5 y  begin7 h8 ]; N7 o' j' w
    if node.Index =treeview1.Items.Count then goto ok
8 p1 b) l, m) S0 H  b6 l    else goto nextnode;
; E/ o. [2 G4 [- B  end;
7 G+ S! n5 E2 p8 nok:null;7 }. e8 C8 J6 U
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-6-12 05:43 , Processed in 0.492286 second(s), 67 queries .

    回顶部