以文本方式查看主题

-  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
--  

if e.Node.text = "加载全部记录"

    Tables("订单").Filter =""

Else

   \'你原来的代码

end if


--  作者:程兴刚
--  发布时间:2012/5/6 22:53:00
--  
以下是引用狐狸爸爸在2012-5-6 22:46:00的发言:

if e.Node.text = "加载全部记录"

    Tables("订单").Filter =""

Else

   \'你原来的代码

end if

明白了,清空条件!

[此贴子已经被作者于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
--  
谢谢两位老师的指导,照搬代码只是初学者很无奈的办法。不过成功之后的喜悦也是不言而喻的,我希望一步步的开发属于我自己的管理程序,一步步的研究其中的奥秘