Foxtable(狐表)用户栏目专家坐堂 → [求助]多列目录树代码修改


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

主题:[求助]多列目录树代码修改

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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2019/3/23 16:12:00 [只看该作者]

谢谢老师指正和指导!在老师的耐心指导下,代码已能初步运行。但部分代码还是不能运行,也找不出代码的问题所在,还的麻烦老师帮助。
        1、双击“全部”节点时,虽不报错但也不能显示全部行;
        2、双击第一层节点“性别”、“民族”、“岗类部门”以及还有下一层节点的“管理”、“生产”、“其它人员”等第二层节点时,报错“索引超出了数组界限”;
        3、双击有下一层节点的“管理”、“生产”、“其它人员”等第二层节点,能返回其节点层级数字2和值(比如“管理、生产、其它人员”等文本),但表数据无反映;
        4、双击第三层节点时,返回其节点层级数字是3,但值却是第二层节点的值(“管理、生产、其它人员”等文本),同时表数据也无反映。

附上代码如下:
'目录树TreeView1-NodeMouseDoubleClick 事件生成动态目录树代码
Dim Filter As String    
Dim dr As DataRow = e.Node.DataRow
Dim tbl As Table = Tables("员工信息")
Dim ary = e.node.fullpath.split("\")
If e.Node.Text <> "全部" Then
    If ary(0) = "性别" Then
        msgbox(ary.length)
        msgbox(ary(1))        
        tbl.Filter = "性别 Like '%" & ary(1) & "%'"
    End If
    If ary(0) = "民族" Then 
        msgbox(ary.length)
        msgbox(ary(1))
        tbl.Filter = "民族 Like '%" & ary(1) & "%'"
    End If
    If ary(0) = "岗类部门" Then 
        msgbox(ary.length)
        msgbox(ary(1))
        If ary(1) = "岗位类别" Then 
            msgbox(ary.length)
            msgbox(ary(2))
            tbl.Filter = "岗位类别 Like '%" & ary(2) & "%'"
            ElseIf ary(2) = "工作部门" Then 
                msgbox(ary.length)
                msgbox(ary(3))
                tbl.Filter = "工作部门 Like '%" & ary(3) & "%'"
            'End If
        End If
    End If
End If

谢谢!

[此贴子已经被作者于2019/3/23 16:12:59编辑过]

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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2019/3/23 17:03:00 [只看该作者]

老师们好!恳请老师们帮忙看看,代码那里不对。谢谢!

老师们如果要实例我发上来可好。

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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/23 17:22:00 [只看该作者]

Dim Filter As String = ""
Dim dr As DataRow = e.Node.DataRow
Dim tbl As Table = Tables("员工信息")
Dim ary = e.node.fullpath.split("\")
If e.node.level > 0 '第二层节点开始
    Select Case ary(0)
        Case "性别"
            Filter = "性别 = '" & ary(1) & "'"
        Case "民族"
            Filter = "民族 = '" & ary(1) & "'"
        Case "岗类部门"
            If e.node.level = 1 Then
                Filter = "岗位类别 = '" & ary(1) & "'"
            Else
                Filter = "岗位类别 = '" & ary(1) & "' and 工作部门 = '" & ary(2) & "'"
            End If
    End Select
    tbl.Filter = filter
ElseIf e.node.text = "全部"
    tbl.Filter = ""
End If

[此贴子已经被作者于2019/3/23 17:23:40编辑过]

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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2019/3/23 18:18:00 [只看该作者]

谢谢老师!看了老师的代码,我的简直就“惨不忍睹”。再次感谢老师。

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