以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]带统计的筛选树,如何让“显示所有行”筛选全部?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=74190)

--  作者:ehomecd
--  发布时间:2015/9/6 9:22:00
--  [求助]带统计的筛选树,如何让“显示所有行”筛选全部?
根据帮助文件http://www.foxtable.com/help/topics/2741.htm

在带统计的筛选树最上方插入“显示所有行”

但点击的时候提示错误,判断是因为没有加入筛选条件

但个人改后提示错误,请版主指点。

图片点击可在新窗口打开查看此主题相关图片如下:筛选树.png
图片点击可在新窗口打开查看

Dim Filter As String = ""
If e.node.Name <> "显示所有记录" Then
    Dim d1 As Date
    Dim d2 As Date
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Quarter As Integer = e.Node.DataRow("季度")
    Dim Product As String = e.Node.DataRow("部门")
    
    Select Case e.Node.Level
        Case 0
            d1 = New Date(Year,1,1) \'取得该年的第一天
            d2 = new Date(Year,12,31) \'取得该年的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 1
            d1 = New Date(Year, 3 * (Quarter - 1) + 1, 1) \'获取该季度的第一天
            d2 = New Date(Year, 3 * Quarter, Date.DaysInMonth(Year,3 * Quarter)) \'获取该季度的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 2
            d1 = New Date(Year, 3 * (Quarter - 1) + 1, 1) \'获取该季度的第一天
            d2 = New Date(Year, 3 * Quarter, Date.DaysInMonth(Year,3 * Quarter)) \'获取该季度的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 部门 = \'" & Product & "\'"
    End Select
    Tables("外宣信息记录").Filter = Filter

Else
    Tables("外宣信息记录").Filter  = ""
    
End If


--  作者:ehomecd
--  发布时间:2015/9/6 9:41:00
--  将代码修改后,依然不能解决问题
Dim Filter As String = ""

If e.node.Name.Contains("显示所有记录" ) Then
    Tables("外宣信息记录").Filter  = ""
End If

If e.node.Name <> "显示所有记录" Then
    Dim d1 As Date
    Dim d2 As Date
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Quarter As Integer = e.Node.DataRow("季度")
    Dim Product As String = e.Node.DataRow("部门")
    
    Select Case e.Node.Level
        Case 0
            d1 = New Date(Year,1,1) \'取得该年的第一天
            d2 = new Date(Year,12,31) \'取得该年的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 1
            d1 = New Date(Year, 3 * (Quarter - 1) + 1, 1) \'获取该季度的第一天
            d2 = New Date(Year, 3 * Quarter, Date.DaysInMonth(Year,3 * Quarter)) \'获取该季度的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 2
            d1 = New Date(Year, 3 * (Quarter - 1) + 1, 1) \'获取该季度的第一天
            d2 = New Date(Year, 3 * Quarter, Date.DaysInMonth(Year,3 * Quarter)) \'获取该季度的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 部门 = \'" & Product & "\'"
    End Select
    Tables("外宣信息记录").Filter = Filter
    
End If

--  作者:ehomecd
--  发布时间:2015/9/6 9:50:00
--  
今天大神都休息了吗,求助求助。
--  作者:大红袍
--  发布时间:2015/9/6 10:17:00
--  

Dim Filter As String = ""


If e.node.Name.Contains("显示所有行" ) Then
    Tables("外宣信息记录").Filter  = ""
End If


If e.node.Name <> "显示所有行" Then