以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 目录树与表对应问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=128846) |
-- 作者:deliangzhaoe -- 发布时间: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 筛选不出来,错误代码如下: 总体想要实现:点击目录树的任一节点时,表A都筛选出对应的唯一一行,同时,点击level0节点的时候,右侧页面集合打开第一个页面,点击level1节点的时候,右侧页面集合打开第二个页面,点击level2节点的时候,右侧页面集合打开第三个页面,实例如下: 请老师帮忙看一下,或者代码如何简化一下。谢谢 [此贴子已经被作者于2018/12/16 18:14:38编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/12/16 20:22:00 -- 1、参考
http://www.foxtable.com/webhelp/scr/2690.htm
2、参考
http://www.foxtable.com/webhelp/scr/0831.htm
|
-- 作者:deliangzhaoe -- 发布时间:2018/12/17 7:48:00 -- ![]() ![]() 只找出图中第一行如何对应?
|
-- 作者:有点甜 -- 发布时间:2018/12/17 9:06:00 -- 1、参考2楼改写了代码了没有?
2、你希望点击【雷达】,显示什么结果?多行的【雷达】?还是一行的【雷达】?
|
-- 作者:deliangzhaoe -- 发布时间:2018/12/17 15:49:00 -- 可以了,谢谢
|
-- 作者:deliangzhaoe -- 发布时间:2018/12/18 19:00:00 -- 又报错: 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 请帮忙看一下是怎么回事? |
-- 作者:有点蓝 -- 发布时间:2018/12/18 20:20:00 -- 如果生成tree4的表重新加载了数据,那么对应的tree4也要重新生成,不然使用e.Node.DataRow就会有这个问题 |