起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 530|回复: 15

【搞定】为什么不能取TcheckTreeView节点个数。**

[复制链接]
发表于 2007-5-21 10:55:23 | 显示全部楼层 |阅读模式
if DGXMFYXXXS.TXMJLCX.Execute(Context, s) then
    begin
          if s='' then exit;
         for i:=0 to CheckBizTreeView2.Items.Count-1 do
           begin
            if  CheckBizTreeView2.Items.Level=0 then  continue;
              if  CheckBizTreeView2.Items.Level=1 then  continue;
                  if  CheckBizTreeView2.Items.Level=2 then  continue;
                     bh := TBizNode(checkbiztreeview2.Items.Data).ID;
                       bh := StrUtils.LeftStr(bh,length(bh)-4);
                if s=bh then
                   checkbiztreeview2.Items.Selected:=true;
             end;
      end;

通过调用另外一个TXMJLCX功能来返回一个S值,然后想遍历树中和该值一样的节点。。。
   然而现在跟踪FOR这语句时,每次都只能读到根节点。即只能循环一次。这样显然没法满足要求。。
   请确实是否是属性设置错误还是控件BUG。。谢谢
回复

使用道具 举报

 楼主| 发表于 2007-5-21 13:19:18 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 15:07:53 | 显示全部楼层
不想顶了。。
回复 支持 反对

使用道具 举报

发表于 2007-5-21 17:11:55 | 显示全部楼层
楼主,你把树全部展开后,在执行一次这个代码,看能否正常执行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 17:50:11 | 显示全部楼层
展开之后可以读取到。。。
但这样严重影响效率。因为有几百个节点。。
我只想在未展开情况下遍历所有节点,然后把满足条件的节点展开。。
回复 支持 反对

使用道具 举报

发表于 2007-5-21 17:52:41 | 显示全部楼层
楼主,如果没有展开,treeview控件的树是不完整的,所以不可能遍历到所有的节点
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 18:03:45 | 显示全部楼层
版主意思是我想实现以上功能必须在遍历之前展开该树的所有节点??
    没有其他解决办法。??。难道这个控件必须在展开时候才能使用??
这样的话。。这个控件也太没应用价值了吧。。??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 09:15:15 | 显示全部楼层
请问能帮我找出一个比较方便的遍历方法??最好不要在遍历前展开所有节点。。并且我要遍历的也只是叶子节点。。。要每次查询一次都展开的话,这样让客户怎么接受啊。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 12:18:05 | 显示全部楼层
。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 14:51:33 | 显示全部楼层
。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 00:16 , Processed in 0.042627 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表