Foxtable(狐表)用户栏目专家坐堂 → 目录树与表对应问题


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

主题:目录树与表对应问题

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


加好友 发短信
等级:小狐 帖子:364 积分:3491 威望:0 精华:0 注册:2012/7/24 7:15:00
目录树与表对应问题  发帖心情 Post By:2018/12/16 16:32:00 [显示全部帖子]

目录树由表A的列1、列2、列3、列4、列5生成,想要实现点击目录树的任一节点时,表A都筛选出对应的唯一一行。
nodemouseclick事件代码:
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView4")
Dim pd As WinForm.TreeNode = tr.SelectedNode
Dim pf As winform.treenode = pd.parentnode
Dim ph As winform.treenode = pf.parentnode
If e.node.level = 0 Then
    Tables("年度安全目标").filter = "企业名称 = '" & e.node.name & "' and 部门设置 is null and 岗位设置 is null and 第四层机构设置 is null and 第五层机构设置 is null and 第六层机构设置 is null"
ElseIf e.node.level = 1 Then
    Tables("年度安全目标").filter = "企业名称 = '" & pf.name & "' and 部门设置 = '" & e.node.name & "' and 岗位设置 is null and 第四层机构设置 is null and 第五层机构设置 is null and 第六层机构设置 is null"
ElseIf e.node.level = 2 Then
    Tables("年度安全目标").filter = "企业名称 = '" & ph.name & "' and 部门设置 = '" & pf.name & "' and 岗位设置 = '" & e.node.name & "' and 第四层机构设置 is null and 第五层机构设置 is null and 第六层机构设置 is null"
End If

用上面的代码时,level1、level2都可以筛选出唯一一行来,level 0 筛选不出来,错误代码如下:

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

总体想要实现:点击目录树的任一节点时,表A都筛选出对应的唯一一行,同时,点击level0节点的时候,右侧页面集合打开第一个页面,点击level1节点的时候,右侧页面集合打开第二个页面,点击level2节点的时候,右侧页面集合打开第三个页面,实例如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树-测试.foxdb


请老师帮忙看一下,或者代码如何简化一下。谢谢

[此贴子已经被作者于2018/12/16 18:14:38编辑过]

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


加好友 发短信
等级:小狐 帖子:364 积分:3491 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2018/12/17 7:48:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
只找出图中第一行如何对应?

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


加好友 发短信
等级:小狐 帖子:364 积分:3491 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2018/12/17 15:49:00 [显示全部帖子]

可以了,谢谢

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


加好友 发短信
等级:小狐 帖子:364 积分:3491 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2018/12/18 19:00:00 [显示全部帖子]

又报错:

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

tree4的nodemouseclick代码:

Dim Filter As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
Select Case e.Node.Level
    Case 0
        Filter = "[企业名称] = '" & dr("企业名称") & "' and [部门设置] is null and [岗位设置] is null and [第四层机构设置] is null and [第五层机构设置] is null and [第六层机构设置] is null"
        Forms("安全信息化系统主窗口").Controls("TabControl5").SelectedIndex = 0
    Case 1
        Filter = "[企业名称] = '" & dr("企业名称") & "' and [部门设置] = '" & dr("部门设置") & "' and [岗位设置] is null and [第四层机构设置] is null and [第五层机构设置] is null and [第六层机构设置] is null"
        Forms("安全信息化系统主窗口").Controls("TabControl5").SelectedIndex = 1
    Case 2
        Filter = "[企业名称] = '" & dr("企业名称") & "' and [部门设置] = '" & dr("部门设置") & "' and [岗位设置] = '" & dr("岗位设置") & "' and [第四层机构设置] is null and [第五层机构设置] is null and [第六层机构设置] is null"
        Forms("安全信息化系统主窗口").Controls("TabControl5").SelectedIndex = 2
Case 3
        Filter = "[企业名称] = '" & dr("企业名称") & "' and [部门设置] = '" & dr("部门设置") & "' and [岗位设置] = '" & dr("岗位设置") & "' and [第四层机构设置] = '" & dr("第四层机构设置") & "' And [第五层机构设置] Is null And [第六层机构设置] Is null"
        Forms("安全信息化系统主窗口").Controls("TabControl5").SelectedIndex = 3
Case 4
        Filter = "[企业名称] = '" & dr("企业名称") & "' and [部门设置] = '" & dr("部门设置") & "' and [岗位设置] = '" & dr("岗位设置") & "' and [第四层机构设置] = '" & dr("第四层机构设置") & "' and [第五层机构设置] = '" & dr("第五层机构设置") & "' and [第六层机构设置] is null"
        Forms("安全信息化系统主窗口").Controls("TabControl5").SelectedIndex = 4
Case 5
        Filter = "[企业名称] = '" & dr("企业名称") & "' and [部门设置] = '" & dr("部门设置") & "' and [岗位设置] = '" & dr("岗位设置") & "' and [第四层机构设置] = '" & dr("第四层机构设置") & "' and [第五层机构设置] = '" & dr("第五层机构设置") & "' and [第六层机构设置] = '" & dr("第六层机构设置") & "' "
        Forms("安全信息化系统主窗口").Controls("TabControl5").SelectedIndex = 5
End Select
Tables("年度安全目标").Filter = Filter


请帮忙看一下是怎么回事?


 回到顶部