Foxtable(狐表)用户栏目专家坐堂 → 搜索目录树的节点名称,关键词短可以,长了反而不行


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

主题:搜索目录树的节点名称,关键词短可以,长了反而不行

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


加好友 发短信
等级:幼狐 帖子:158 积分:1542 威望:0 精华:0 注册:2018/4/11 21:01:00
搜索目录树的节点名称,关键词短可以,长了反而不行  发帖心情 Post By:2020/10/10 22:06:00 [只看该作者]

我的代码如下:
Dim gjc As String = e.Form.Controls("cplb").text
If gjc = "" Then
    Return
End If
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim start As Integer
Dim idx As Integer = -1
If trv.SelectedNode IsNot Nothing Then
    Dim ljmc As String = trv.SelectedNode.FullName
    For i As Integer = 0 To trv.AllNodes.Count - 1
        If trv.AllNodes(i).FullName = ljmc Then
            start = i    '找出当前目录节点的顺序值
            Exit For
        End If
    Next
End If
For i As Integer = start + 1 To trv.AllNodes.Count - 1
    Dim jd As WinForm.TreeNode = trv.AllNodes(i)
    If jd.Text.IndexOf(gjc) > 0 Then
        trv.SelectedNode = jd
        jd.EnsureVisible
        idx = i
        Exit For
    End If
Next
If idx = -1 Then    'idx是初始值就是没有找到,那么从第一个开始再找一次
    For i As Integer = 0 To trv.AllNodes.Count - 1
        Dim jd As WinForm.TreeNode = trv.AllNodes(i)
        If jd.Text.IndexOf(gjc) > 0 Then
        trv.SelectedNode = jd
        jd.EnsureVisible
        Exit For
        End If
    Next
End If
trv.Select()

这段代码,如果有1个节点名称叫“ABCDEFG”,如果搜索“ABC”是没问题的,但搜索“ABCDEF”却搜不到。
这是什么原因,老师能帮忙找找原因吗?我自己已经看不懂了

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110775 积分:563807 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/11 20:23:00 [只看该作者]

If jd.Text.IndexOf(gjc) > 0 Then
改为
If jd.Text.IndexOf(gjc) >= 0 Then

 回到顶部