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


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

主题:筛选树问题

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


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
筛选树问题  发帖心情 Post By:2015/4/8 1:02:00 [只看该作者]

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 Month 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, Month, 1)
'取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month))
'取得该月的最后一天
            Filter =
"日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 2
            d1 = New Date(Year, Month, 1)
'取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month))
'取得该月的最后一天
           
Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 产品 = '" & Product & "'"
    End
Select
End
If
Tables("订单").Filter = Filter

 

 

 

问题:

 

上面代码筛选顺序是, 年|月|产品

如何更改筛选顺序为: 产品|年|月

 

请老师指点!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/8 8:45:00 [只看该作者]

筛选何来的顺序而言?

你的意思是生成的目录树顺序?

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


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

就是目录树顺序,修改生成目录树的代码,原来的代码:
 
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "S elect Distinct Year(日期) As 年, Month(日期) As 月, 产品 From {订单}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|产品")
trv.Nodes.Insert("显示所有行",0
 
改为:
 
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "S elect Distinct Year(日期) As 年, Month(日期) As 月, 产品 From {订单}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "产品|年|月")
trv.Nodes.Insert("显示所有行",0)
 
就修改了加粗的部分,列参数中三个列的位置变化了一下而已
[此贴子已经被作者于2015/4/8 8:53:30编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2015/4/8 9:41:00 [只看该作者]

谢谢老师们的回复, 我就是这样做的, 但是发现筛选同一产品为什么还夹杂着其他产品呢

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/8 9:43:00 [只看该作者]

呵呵,不可能的.上例子.

 回到顶部