以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  目录树筛选的问题,请高手帮忙。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=28340)

--  作者:shpboy
--  发布时间:2013/1/26 0:27:00
--  目录树筛选的问题,请高手帮忙。

主窗口中AfterLoad事件为:

  Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
       trv.GenerateTree("deSYB","syID","BTM",".")
       trv.Nodes.Insert("显示所有行",0)

 

目录树NodeMouseDoubleClick事件设为:

Dim Value() As String
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        If e.Node.Text = "显示所有行" Then
            Tables("deB").Filter = ""

          Else
            
Tables
("deB").Filter = "[syID] = \'"
& Value(0) & "\'"
        End
If

                    Tables("deSYB").Filter = "[syID] = \'" & Value(0) & "\'"

End Select

目录树来自表"deSYB",显示是以GenerateTree函数 “syID”(即级别)及"BTM"(即标题名)双列显示的。单击目录树时要求:按所选择的目录树筛选Tables("deB")中[syID]列相同的行,使用代码Tables("deB").Filter = "[syID] = \'" & Value(0) & "\'" ,但是Value(0)是指BTM"(即标题名),如何实现目录树显示名称列,但是选择目录树名称后是按“syID”对表Tables("deB")进行筛选?

 


--  作者:shpboy
--  发布时间:2013/1/26 2:44:00
--  
 

Dim bm As String = e.Node.FullName
Tables
("物料编码表").Filter = "级码 = \'" & bm & "\' Or 级码 Like \'" & bm &
".*\'"

 

这个代码可以了

Value = e.Node.FullName
看了半天帮助解决了。