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


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

主题:求助 目录树

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 11:16:00 [只看该作者]

好的!


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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 11:18:00 [只看该作者]

老师:
您好!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar
如果那个筛选树,没有勾选 就有提示:
语法错误:“”运算符后缺少操作数
谢谢老师!!!
谢谢!!!
[此贴子已经被作者于2020/2/29 11:36:03编辑过]

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


加好友 发短信
等级:超级版主 帖子:109682 积分:558114 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/29 13:42:00 [只看该作者]

如果树节点没有选中节点,tr1.SelectedNode是空的,需要先判断
If tr1.SelectedNode IsNot Nothing
    For Each nd In tr1.SelectedNode.allNodes '清除子节点的选中标记
        nd.Checked = False
    Next
    nd = tr1.SelectedNode.ParentNode
    Do While nd IsNot Nothing '清除父节点的选中标记
        nd.Checked = False
        nd = nd.ParentNode
    Loop
End If

至于最后一行代码我去掉注释,测试没有任何问题

Tables("表A").Filter = "(" & IIf(flt>"",flt,"1=1") & ") And (" & IIf(kkth>"",kkth,"1=1") & ") And (" & IIf(odkl>"",odkl,"1=1") & ")"

[此贴子已经被作者于2020/2/29 14:46:42编辑过]

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 14:01:00 [只看该作者]

老师:
请把您测试的传上来的核对一下,我的还是有问题.
谢谢!!!

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


加好友 发短信
等级:超级版主 帖子:109682 积分:558114 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/29 14:14:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 14:20:00 [只看该作者]

老师:

您好!

以下是截图,任一个树没勾选都会提示,加了判断代码也是一样会有提示


图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:bb.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:cc.png
图片点击可在新窗口打开查看

 

 

Dim nms As String() = {"年","月","日"} '指定生成目录树的各列
Dim qts As String() = {"'","'","'"} '指定将各列的值括起来的符号,这里都是字符型,所以都是单引号
Dim tr1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim flt As String
Dim nd As WinForm.TreeNode
If tr1.SelectedNode Is Nothing
    MessageBox.Show("AA")
Else
    For Each nd In tr1.SelectedNode.allNodes '清除子节点的选中标记
        nd.Checked = False
    Next
    nd = tr1.SelectedNode.ParentNode
    Do While nd IsNot Nothing '清除父节点的选中标记
        nd.Checked = False
        nd = nd.ParentNode
    Loop
End If
    For Each nd In tr1.AllNodes
        If nd.Checked  Then
            Dim rts() As String = nd.FullPath.Split("\")
            Dim val As String = ""
            For i As Integer = 0 To rts.length - 1
                If val > "" Then
                    val = val & " And "
                End If
                val = val & nms(i) & " = " & qts(i) & rts(i) & qts(i)
            Next
            If flt > "" Then
                flt = flt & " Or (" & val & ")"
            Else
                flt = val
            End If
        End If
    Next
Dim tr2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim odkl As String
If tr2.SelectedNode IsNot Nothing
    For Each nd1 As WinForm.TreeNode In tr2.SelectedNode.Nodes '清除子节点选中状态
        nd1.Checked = False
    Next
    If tr2.SelectedNode.ParentNode IsNot Nothing Then '去掉父节点选中状态
        tr2.SelectedNode.ParentNode.Checked = False
    End If
End If
    For Each nd1 As WinForm.TreeNode In tr2.AllNodes
        If nd1.Checked Then
            If odkl > "" Then
                odkl = odkl & " Or "  '注意用or而不是And
            End If
            If nd1.Level = 0 Then '注意下面的条件都要用括号括起来
                odkl = odkl & "( 类别 = '" & nd1.Text & "')"
            Else
                odkl = odkl & "( 类别 = '" & nd1.ParentNode.Text & "' And 款式 = '" & nd1.Text & "')"
            End If
        End If
    Next
Dim tr3 As WinForm.TreeView = e.Form.Controls("TreeView3")
Dim kkth As String
If tr3.SelectedNode IsNot Nothing
    For Each nd2 As WinForm.TreeNode In tr3.SelectedNode.Nodes '清除子节点选中状态
        nd2.Checked = False
    Next
    If tr3.SelectedNode.ParentNode IsNot Nothing Then '去掉父节点选中状态
        tr3.SelectedNode.ParentNode.Checked = False
    End If
End If
    For Each nd2 As WinForm.TreeNode In tr3.AllNodes
        If nd2.Checked Then
            If kkth > "" Then
                kkth = kkth & " Or "  '注意用or而不是And
            End If
            If nd2.Level = 0 Then '注意下面的条件都要用括号括起来
                kkth = kkth & "( 品牌 = '" & nd2.Text & "')"
            End If
        End If
    Next
Tables("表A").Filter = "(" & flt & ") And (" & odkl & ") And (" & kkth & ")"


请老师指教!!!

谢谢!!!


 


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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 14:26:00 [只看该作者]

老师:
您好!
我的版本低,打不开您的文件.

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


加好友 发短信
等级:超级版主 帖子:109682 积分:558114 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/29 14:46:00 [只看该作者]

最后一句改为

Tables("表A").Filter = "(" & IIf(flt>"",flt,"1=1") & ") And (" & IIf(kkth>"",kkth,"1=1") & ") And (" & IIf(odkl>"",odkl,"1=1")& ")"
[此贴子已经被作者于2020/2/29 14:46:27编辑过]

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 15:02:00 [只看该作者]

谢谢老师!
OK!
谢谢!!!

 回到顶部
总数 19 上一页 1 2