Foxtable(狐表)用户栏目专家坐堂 → 目录树定位


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

主题:目录树定位

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


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

无语,最基本都不会。你根本就没看懂代码

 

直接匹配 就用   A = B

 

匹配前面,就用 StartsWith

 

匹配后面,就用 EndsWith

 


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/8/8 17:51:00 [只看该作者]

总是只能找到下1个,找不到1个,例如规格2.5,只能找到1个
[此贴子已经被作者于2016/8/8 17:50:47编辑过]

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


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

贴出代码。

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/8/8 18:09:00 [只看该作者]

谢谢大红袍,基本搞定了。

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/8/11 19:58:00 [只看该作者]

又来麻烦老师。以上根据单项查找定位已搞定,现在同事要求根据型号规格(第3层和第4层,如BVR 0.75)进行组合查询定位,求代码。

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


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

 贴出你写的代码啊

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/8/11 20:37:00 [只看该作者]

以下是单项查找定位的代码,组合查找定位的代码贴不会
Dim trv As WinForm.TreeView =  e.Form.Controls("TreeView1")
Dim txt As String = e.Form.Controls("TextBox1").text
Dim Start As Integer 
Dim idx As Integer = - 1
If trv.SelectedNode IsNot Nothing Then '获取当前节点位置.
    Dim FullName As String = trv.SelectedNode.FullName
    For i As Integer = 0 To trv.AllNodes.count - 1
        If trv.AllNodes(i).FullName = FullName  Then
            Start = i
            Exit For
        End If
    Next
End If
For i As Integer = Start + 1 To trv.AllNodes.count - 1  '从当前节点的下一个节点开始查找
    Dim nd As WinForm.TreeNode = trv.AllNodes(i)
    If nd.Text.IndexOf(txt) >= 0 Then
        trv.SelectedNode = nd
        nd.EnsureVisible
        idx = i '将找到的位置复制给变量idx
        Exit For
    End If
Next
If  idx = -1 Then 'idx的值如果等于初始值-1,表示没有找到下一个符合条件的节点,那么从第一个节点开始重新查找.
    For i As Integer = 0 To Start - 1
        Dim nd As WinForm.TreeNode = trv.AllNodes(i)
        If nd.Text.IndexOf(txt) >= 0 Then
            trv.SelectedNode = nd
            nd.EnsureVisible
            Exit For
        End If
    Next
End If
trv.Select()

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


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

Dim dm As WinForm.TextBox = e.Form.Controls("代码")
Dim xh As WinForm.TextBox = e.Form.Controls("型号")
Dim gg As WinForm.TextBox = e.Form.Controls("规格")
Dim count As Integer = 0
If dm.Text > "" Then count += 1
If xh.Text > "" Then count += 1
If xh.Text > "" Then count += 1

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 FullName As String = trv.SelectedNode.FullName
    For i As Integer = 0 To trv.AllNodes.count - 1
        If trv.AllNodes(i).FullName = FullName  Then
            Start = i
            Exit For
        End If
    Next
End If
For i As Integer = Start + 1 To trv.AllNodes.count - 1  '从当前节点的下一个节点开始查找
    Dim nd As WinForm.TreeNode = trv.AllNodes(i)
    If dm.text >= "" Then
        If nd.level = 3 AndAlso nd.Text.IndexOf(dm.Text) >= 0 Then
            If gg.Text > "" Then
                If nd.text.IndexOf(gg.Text) >= 0 Then
                    If xh.Text > "" Then
                        If nd.ParentNode.Text.IndexOf(xh.Text) >= 0 Then
                            trv.SelectedNode = nd
                            nd.EnsureVisible
                            idx = i '将找到的位置复制给变量idx
                            Exit For
                        End If
                    Else
                        trv.SelectedNode = nd
                        nd.EnsureVisible
                        idx = i '将找到的位置复制给变量idx
                        Exit For
                    End If
                End If
            Else
                trv.SelectedNode = nd
                nd.EnsureVisible
                idx = i '将找到的位置复制给变量idx
                Exit For
            End If
        End If
    ElseIf gg.Text > "" Then
        If nd.text.IndexOf(gg.Text) >= 0 Then
            If xh.Text > "" Then
                If nd.ParentNode.Text.IndexOf(xh.Text) >= 0 Then
                    trv.SelectedNode = nd
                    nd.EnsureVisible
                    idx = i '将找到的位置复制给变量idx
                    Exit For
                End If
            Else
                trv.SelectedNode = nd
                nd.EnsureVisible
                idx = i '将找到的位置复制给变量idx
                Exit For
            End If
        End If
    Else
        If xh.Text > "" Then
            If nd.ParentNode.Text.IndexOf(xh.Text) >= 0 Then
                trv.SelectedNode = nd
                nd.EnsureVisible
                idx = i '将找到的位置复制给变量idx
                Exit For
            End If
        End If
       
    End If
Next
If idx = -1 Then
    msgbox("找完了")
End If
trv.Select()


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/8/11 21:49:00 [只看该作者]

大红袍老师辛苦了。这样查找太复杂了,我现在只需要1个文本框,在这个文本框中按型号规格查找(不考虑代码)

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


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

看懂18楼,自己改写。

 回到顶部
总数 25 上一页 1 2 3 下一页