以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于目录树节点“显示所有行”  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84366)

--  作者:czy66ds
--  发布时间:2016/4/29 10:26:00
--  关于目录树节点“显示所有行”
使用年、月、日生成目录树:
‘在TreeView3生成目录树:

Dim cmd3 As New SQLCommand
Dim dt3 As DataTable
cmd3.ConnectionName = conn
cmd3.CommandText = "Select DISTINCT Year(分部发货日期) As 年, Month(分部发货日期) As 月, Day(分部发货日期) as 日 fr om {退货处理}  "
dt3 = cmd3.ExecuteReader()
Dim trv3 As WinForm.TreeView = e.Form.Controls("TreeView3")
trv3.BuildTree(dt3,"年|月|日")
trv3.Nodes.Insert("显示所有行",0)

选择目录树节点执行代码:

Dim Filter As String
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
Dim Year As Integer = dr("年")
Dim Month As Integer = dr("月")
Dim day As Integer = dr("日")

If e.Node.Name = "显示所有行" Then
    Filter = ""
Else
    Select Case e.Node.Level
        Case 0
            Filter ="Year(日期) = " & Year 
        Case 1
            Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month 
        Case 2
            Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month & " And day(日期) = " & day 
    End Select
End If

DataTables("分部退货查看_Table2").LoadFilter = Filter
DataTables("分部退货查看_Table2").Load

问题:点选选择目录树节点执行

问题:点选“显示所有行“报错,其它节点正常,不知何故?


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160429100657退货报错.jpg
图片点击可在新窗口打开查看


[此贴子已经被作者于2016/4/29 10:27:35编辑过]

--  作者:大红袍
--  发布时间:2016/4/29 10:28:00
--  

Dim Filter As String

 

If e.Node.Name = "显示所有行" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
    Dim Year As Integer = dr("年")
    Dim Month As Integer = dr("月")
    Dim day As Integer = dr("日")
    Select Case e.Node.Level
        Case 0
            Filter ="Year(日期) = " & Year
        Case 1
            Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month
        Case 2
            Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month & " And day(日期) = " & day
    End Select
End If

DataTables("分部退货查看_Table2").LoadFilter = Filter
DataTables("分部退货查看_Table2").Load

--  作者:czy66ds
--  发布时间:2016/4/29 10:35:00
--  
成功,谢谢!
这是为什么呢?

--  作者:大红袍
--  发布时间:2016/4/29 10:44:00
--  
第一个节点,不能用 e.node.DataRow