以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于筛选树  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=56526)

--  作者:jinzhengbe
--  发布时间: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编辑过]

--  作者:狐狸爸爸
--  发布时间: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
 
学编程,不需要记忆什么,重在理解,理解了,才能随意变换。