窗口的AfterLoad事件代码如下:
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT 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)
'加载第一页数据
With DataTables("外协管理")
.LoadFilter = "" '清除加载条件
.LoadPage = 0 '加载第一页
.LoadTop = 500 '每页500行
.Load()
e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With
加载数的代码不知道该如何写了。。主要是外协厂名称这个条件不知道该如何添加了!!
Dim Filter As String
If e.Node.Text = "加载所有数据" Then
Filter = ""
Else
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
Dim Year As Integer = dr("年")
Dim Month As Integer = dr("月")
Dim Product As String = 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 外协完成 = '" & Product & "'"
End Select
End If
With DataTables("外协管理")
.LoadFilter = Filter
.LoadPage = 0
.LoadTop = 500
.Load()
e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With