Foxtable(狐表)用户栏目专家坐堂 → 目录树生成的列是通过变更传递进来的,如何写单击事件


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

主题:目录树生成的列是通过变更传递进来的,如何写单击事件

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
目录树生成的列是通过变更传递进来的,如何写单击事件  发帖心情 Post By:2015/8/11 15:12:00 [显示全部帖子]

vars("TreeViewStr")="窗口名称|窗口标题|数据表名"

 

Dim tb As Table = e.Form.Controls("Table1").Table
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(tb.DataTable.name,vars("TreeViewStr"))
trv.Nodes.Insert("显示全部",0)

 

目录树是通过 vars("TreeViewStr") 变量传递进来生成的

 

单击筛选事件 如何写 代码

下面这样写怎么不行 

 

Dim tb As Table = e.Form.Controls("Table1").Table
Dim Filter As String = ""
Dim Valuea() As String
Dim Value() As String
Value = e.Node.FullPath.Split("\")
Valuea = vars("TreeViewStr").Split("|")
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter = "Valuea(0) = '" & Value(0) & "'"
        Case 1
            Filter = "Valuea(0) = '" & Value(0) & "' And Valuea(1)  = '" & Value(1) & "'"
        Case 2
            Filter = "Valuea(0) = '" & Value(0) & "' And Valuea(1)  = '" & Value(1) & "' And Valuea(2)  = '" & Value(2) & "'"
    End Select
End If
tb.Filter = Filter

[此贴子已经被作者于2015/8/11 15:19:12编辑过]

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/8/11 15:36:00 [显示全部帖子]

Filter = "窗口名称 = '" & Value(0) & "'"  这样写 运行正常

 

Filter = "Valuea(0) = '" & Value(0) & "'" ,这样写 就运行不正常。 这时 msgbox(Valuea(0)) 显示为 窗口名称

 

即 如何在列名处,不写列名 而用变量代替

 


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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/8/11 15:43:00 [显示全部帖子]

搞定了

 


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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/8/11 16:28:00 [显示全部帖子]

恩 这样的代码就是看起来舒服

 回到顶部