Foxtable(狐表)用户栏目专家坐堂 → 关于筛选树


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

主题:关于筛选树

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
关于筛选树  发帖心情 Post By:2014/9/7 23:27:00 [只看该作者]

Dim Filter As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter = "[mu] = '" & dr("mu") & "'"
        Case 1
            Filter = "[mu] = '" & dr("mu") & "' And [lei] = '" & dr("lei") & "'"
           End Select
End If
Tables("商品").Filter = Filter

 

 

 

在这个基础上,想添加一个节点, lei 的内容为空 mu的节点为空

 

应该怎么写啊啊

 

[此贴子已经被作者于2014-9-7 23:27:29编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/9/9 8:32:00 [只看该作者]

首先看看帮助是怎么做的:
http://www.foxtable.com/help/topics/0917.htm
 
既然可以人工插入一个“显示所有行”,同样可以人工插入一个"显示空值"
....

trv.Nodes.Insert("显示所有行",0)
trv.Nodes.Insert("显示空值",1)

....

原来筛选的代码改一下:
 
 
Dim Filter As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Text = "显示所有行" Then
    Filter = ""
ElseIf e.Node.Text = "显示空值" Then
   Filter = “mu is null and lei is null”
Else
    Select Case e.Node.Level
        Case 0
            Filter = "[mu] = '" & dr("mu") & "'"
        Case 1
            Filter = "[mu] = '" & dr("mu") & "' And [lei] = '" & dr("lei") & "'"
           End Select
End If
Tables("商品").Filter = Filter
 
学编程,不需要记忆什么,重在理解,理解了,才能随意变换。


 回到顶部