以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何为新增节点增加点击事件[已解决] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=19335) |
|
-- 作者:sunbrain -- 发布时间:2012/5/6 22:23:00 -- [求助]如何为新增节点增加点击事件[已解决] 根据帮助文件提示: http://www.foxtable.com/help/topics/0917.htm 我只做了自己的筛选树, 将窗口的AfterLoad事件设为: e.Form.Controls("TreeView1").BuildTree("订单", "产品|客户|雇员") 然后,设置目录树的NodeMouseDoubleClick事件 代码如下: Dim Value()As String Value = e.Node.FullPath.Split("\\") Select Case e.Node.Level Case 0 Tables("订单").Filter ="[产品] = \'" & Value(0) & "\'" Case 1 Tables("订单").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) & "\'" Case 2 Tables("订单").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) &"\' And [雇员] = \'" & Value(2) & "\'" End Select 这样的功能在选择节点后只能按照条件筛选并不能显示全部的数据,现在我希望增加一个目录节点:“显示全部数据” 在AfterLoad中代码修改如下: Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1") Dim nd As WinForm.TreeNode tv.Nodes.Clear tv.BuildTree("订单", "产品|客户|雇员") nd = tv.Nodes.Insert("加载全部记录","加载全部记录",0) 目前已经实现了在原来的目录上加上了“加载全部记录”的节点,但是我不知道在NodeMouseDoubleClick中如何加代码?谢谢指导
[此贴子已经被作者于2012-5-7 8:24:36编辑过]
|
|
-- 作者:程兴刚 -- 发布时间:2012/5/6 22:43:00 -- if e.Node.text = "加载全部记录" Tables("订单").Filter ="[_Identify] > -1" end if [此贴子已经被作者于2012-5-6 22:44:35编辑过]
|
|
-- 作者:狐狸爸爸 -- 发布时间:2012/5/6 22:46:00 -- |
|
-- 作者:程兴刚 -- 发布时间:2012/5/6 22:53:00 -- 以下是引用狐狸爸爸在2012-5-6 22:46:00的发言:
明白了,清空条件! [此贴子已经被作者于2012-5-6 22:54:06编辑过]
|
|
-- 作者:sunbrain -- 发布时间:2012/5/7 0:03:00 -- 我这样做了,可是点击各个筛选条件后却不起任何作用了,不知道什么原因,请指导谢谢 我的双击代码 Dim Value()As String Value = e.Node.FullPath.Split("\\") Select Case e.Node.Level Case 0 Tables("表A").Filter ="[产品] = \'" & Value(0) & "\'" Case 1 Tables("表A").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) & "\'" Case 2 Tables("表A").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) &"\' And [雇员] = \'" & Value(2) & "\'" End Select If e.Node.text = "加载全部记录" Tables("表A").Filter ="" Else Tables("表A").Filter ="[_Identify] > -1" End If |
|
-- 作者:程兴刚 -- 发布时间:2012/5/7 1:23:00 -- Dim Value()As String
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
Case 0
Tables("表A").Filter ="[产品] = \'" & Value(0) & "\'"
Case 1
Tables("表A").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) & "\'"
Case 2
Tables("表A").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) &"\' And [雇员] = \'" & Value(2) & "\'"
End Select If e.Node.text = "加载全部记录"
Tables("表A").Filter =""
End If
|
|
-- 作者:程兴刚 -- 发布时间:2012/5/7 1:25:00 -- 或者:
Dim Value()As String Value = e.Node.FullPath.Split("\\") If e.Node.text = "加载全部记录" Tables("表A").Filter ="" Else Select Case e.Node.Level Case 0 Tables("表A").Filter ="[产品] = \'" & Value(0) & "\'" Case 1 Tables("表A").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) & "\'" Case 2 Tables("表A").Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) &"\' And [雇员] = \'" & Value(2) & "\'" End Select End If |
|
-- 作者:sunbrain -- 发布时间:2012/5/7 8:24:00 -- 谢谢两位老师的指导,照搬代码只是初学者很无奈的办法。不过成功之后的喜悦也是不言而喻的,我希望一步步的开发属于我自己的管理程序,一步步的研究其中的奥秘 |