以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助按日加载  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=37704)

--  作者:ruanziming
--  发布时间:2013/7/9 10:31:00
--  求助按日加载
1、窗口的AfterLoad事件代码改为:

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT DISTINCT Year(日期) As 年, Month(日期) As 月, 产品 From {订单}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|产品")

2、目录树的NodeMouseDoubleClick事件代码改为:

Dim Value()As String
Dim Filter As String
Dim d1 As Date
Dim d2 As Date
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        Dim y As Integer = value(0)
        d1 = New Date(y,1,1) \'取得该年的第一天
        d2 = new Date(y,12,31) \'取得该年的最后一天
        Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
    Case 1
        Dim y As Integer = value(0)
        Dim m As Integer = value(1)
        d1 = New Date(y, m, 1) \'取得该月的第一天
        d2 = new Date(y, m, Date.DaysInMonth(y,m)) \'取得该月的最后一天
        Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
    Case 2
        Dim y As Integer = value(0)
        Dim m As Integer = value(1)
        d1 = New Date(y, m, 1) \'取得该月的第一天
        d2 = new Date(y, m, Date.DaysInMonth(y,m)) \'取得该月的最后一天
        Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 产品 = \'" & Value(2) & "\'"
End Select
Tables("订单").Filter = Filter
你好,上述事例代码改成按日加载的目录树还差点什么?试了几次都没成功。谢谢

--  作者:Bin
--  发布时间:2013/7/9 10:36:00
--  
上个例子看看,你的问题是什么? 筛选出来的结果不符合你的要求?
--  作者:ruanziming
--  发布时间:2013/7/9 10:38:00
--  
我改了以后,加载树有日了,不过点击的时候不加载。上述代码就是帮助文件中的。谢谢BIN.
--  作者:Bin
--  发布时间:2013/7/9 10:39:00
--  
把你的例子传上来一下看看.
--  作者:ruanziming
--  发布时间:2013/7/9 10:41:00
--  
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT DISTINCT Year(日期) As 年, Month(日期) As 月, day(日期) As 日, 产品 From {订单}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|日|产品")


Dim Value()As String
Dim Filter As String
Dim d1 As Date
Dim d2 As Date
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        Dim y As Integer = value(0)
        d1 = New Date(y,1,1) \'取得该年的第一天
        d2 = new Date(y,12,31) \'取得该年的最后一天
        Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
    Case 1
        Dim y As Integer = value(0)
        Dim m As Integer = value(1)
        d1 = New Date(y, m, 1) \'取得该月的第一天
        d2 = new Date(y, m, Date.DaysInMonth(y,m)) \'取得该月的最后一天
        Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
    Case 2
        Dim y As Integer = value(0)
        Dim m As Integer = value(1)
        d1 = New Date(y, m, 1) \'取得该月的第一天
        d2 = new Date(y, m, Date.DaysInMonth(y,m)) \'取得该月的最后一天
        Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 产品 = \'" & Value(2) & "\'"
End Select
Tables("订单").Filter = Filter
我就改了红色部分。

--  作者:ruanziming
--  发布时间:2013/7/9 10:43:00
--  
示例文件就是帮助中的目录树.table


--  作者:Bin
--  发布时间:2013/7/9 10:46:00
--  
把你的文件发上来. 帮助的例子是没有问题的.
--  作者:ruanziming
--  发布时间:2013/7/9 11:15:00
--  
帮助的例子不是按日加载,是按月和产品加载。不好意思老是说不清楚,麻烦你们了。我还有些小问题没解决,老板已经批了买10套商业版了,这几天就联系你们。


--  作者:Bin
--  发布时间:2013/7/9 11:17:00
--  
所以把你的例子传上来呀.
--  作者:ruanziming
--  发布时间:2013/7/9 11:24:00
--  
先谢谢。我就是想按日加载。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.rar