Foxtable(狐表)用户栏目专家坐堂 → 带查找功能的下拉目录树遍历问题


  共有2508人关注过本帖树形打印复制链接

主题:带查找功能的下拉目录树遍历问题

帅哥哟,离线,有人找我吗?
hswf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2730 威望:0 精华:0 注册:2013/6/29 9:35:00
带查找功能的下拉目录树遍历问题  发帖心情 Post By:2016/5/5 21:26:00 [只看该作者]

按帮助文件做的带查找功能的下拉目录树,目录树节点为:tv.BuildTree("订单", "部|客户|年|||订单号").

当我在文本框输入字符,点击"下一个按钮查找客户用时会很长(因为毎个客户下面有大量的年月日节点?),甚至卡死

我如果把"下一个按钮的代码改成只遍历第二层客户节点,最高效的代码如何写呢?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/5 22:36:00 [只看该作者]

 你做个具体的例子上传上来测试。

 回到顶部
帅哥哟,离线,有人找我吗?
hswf
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2730 威望:0 精华:0 注册:2013/6/29 9:35:00
  发帖心情 Post By:2016/5/6 21:43:00 [只看该作者]

上传上来测试
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:带查找功能的下拉目录树.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
hswf
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2730 威望:0 精华:0 注册:2013/6/29 9:35:00
  发帖心情 Post By:2016/5/7 8:49:00 [只看该作者]

下一个按纽,反应太慢了
请老师帮我修改一下

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/7 10:27:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:带查找功能的下拉目录树.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
hswf
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2730 威望:0 精华:0 注册:2013/6/29 9:35:00
  发帖心情 Post By:2016/5/7 12:10:00 [只看该作者]

谢谢,点击下一个岀现错误
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.3.27.1
错误所在事件:窗口,窗口1,下一个,Click
详细错误信息:
指定的参数已超出有效值的范围。
参数名: index

[此贴子已经被作者于2016/5/7 12:17:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/7 12:25:00 [只看该作者]

......

Dim Start As Integer
If vars("Name") <> txt Then
    vars("Start_0") = 0
    vars("Start_1") = -1
    vars("Name") = txt
End If

Dim find As Boolean
For i As Integer = vars("Start_0") To trv.Nodes.Count - 1
    For j As Integer = (vars("Start_1") + 1) To trv.Nodes(i).Nodes.Count - 1
        Dim nd As WinForm.TreeNode =  trv.Nodes(i).Nodes(j)
        If nd.Text.IndexOf(txt) >= 0 Then
            trv.SelectedNode = nd
            nd.EnsureVisible
            find = True
            vars("Start_0") = i
            vars("Start_1") = j
            Exit For
        End If
    Next
    If find Then Exit For
Next

......

 回到顶部