Dim t As Table = e.Form.Controls("Table1").Table
Dim dt As DataTable = e.Form.Controls("Table1").Table.DataTable
Dim Filter As String
If e.node.Text = "加载所有行" Then
Filter = ""
With dt
.LoadFilter = Filter '设置加载条件
.LoadPage = 0 '加载第一页
.LoadTop = 50 '每页5行
.Load()
e.Form.Controls("TextBox页数").Value = 1 & "/" & .TotalPages
End With
Else If e.node.Text = "刷新" Then
Dim cmd As New SQLCommand
cmd.C
Dim dt0 As DataTable
cmd.CommandText = "SELECT DISTINCT 已完成,Year(完成日期) As 年, Month(完成日期) As 月 From {工作安排}"
dt0 = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt0,"已完成|年|月")
For Each nd As WinForm.TreeNode In trv.AllNodes
Select Case nd.Level
Case 0
If nd.Text = "True"
nd.Text = "已完成"
Else
nd.Text = "未完成"
End If
Case 1
nd.Text = nd.text & "年"
Case 2
nd.Text = nd.text & "月"
End Select
Next
trv.Nodes.Insert("加载所有行",0)
trv.Nodes.Insert("刷新",0)
Else
Dim Year As Integer = e.Node.DataRow("年")
Dim Month As Integer = e.Node.DataRow("月")
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
Select Case e.Node.Level
Case 0
Filter = "[已完成] = '" & dr("已完成") & "'"
Case 1
Filter = "[已完成] = '" & dr("已完成") & "'" & " And Year(完成日期) = " & Year
Case 2
Filter = "[已完成] = '" & dr("已完成") & "'" & " And Year(完成日期) = " & Year & " And Month(完成日期) = " & Month
End Select
With dt
.LoadFilter = Filter '设置加载条件
.LoadPage = 0 '加载第一页
.LoadTop = 50 '每页5行
.Load()
e.Form.Controls("TextBox页数").Value = 1 & "/" & .TotalPages
End With
End If
t.AutoSizeCols()
[此贴子已经被作者于2019/3/4 9:48:09编辑过]