下面是我用的代码参考一下,代码也是在各位老师的帮助下完成的
参考:有日期、年、月、日、季五列,日期为时间,年月日季为字符
For Each dr As DataRow In DataTables("公司信息").DataRows
Dim qs As Integer = dr("每月第一天")
Dim js As Integer = dr("每月最后一天")
If e.DataCol.Name = "日期" Then
If e.DataRow.IsNull("日期") Then
e.DataRow("年") = Nothing
e.DataRow("月") = Nothing
e.DataRow("季") = Nothing
e.DataRow("日") = Nothing
Else
Dim d As Date = e.NewValue
If d.Month = 12 And d.day >= qs Then
e.DataRow("年") = d.Year +1
Else
e.DataRow("年") = d.Year
End If
If d.Day < qs Then
e.DataRow("月") = d.Month
Else If d.Month = 11 Then
e.DataRow("月") = 12
Else
e.DataRow("月") = (d.Month + 1) Mod 12
End If
If d.day > js Then
e.DataRow("季") = DatePart("q",d.AddDays(10))
Else
e.DataRow("季") = DatePart("q",d)
End If
e.DataRow("日") = d.Day
End If
End If
next
DataRowAdding
e.DataRow("日期") = Date.today()
‘加载树代码 放在按钮或afterload
'首先生成统计表
Dim dt As DataTable
Dim b As New SQLGroupTableBuilder("统计表1","坯布输入")
b.C
'Dim dt1 As fxDataSource
b.Groups.AddDef("年","年1")
b.Groups.AddDef("月","月1")
b.Groups.AddDef("日","日1")
b.Totals.AddDef("_Identify",AggregateEnum.Count,"") '根据主键列来统计记录数,也就是订单数
dt = b.Build() '参数设置为False,生成一个临时表,不在主界面显示
'然后根据统计表生成目录树
With DataTables("统计表1").DataCols '用表达式列计算库存数据
.Add("年",Gettype(Integer))
.Add("月",Gettype(Integer))
.Add("日",Gettype(Integer))
End With
'Next
For Each r7 As Row In Tables("统计表1").rows
r7("年") = r7("年1")
r7("月") = r7("月1")
r7("日") = r7("日1")
Next
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|日")
’‘’NodeMouseClick
Dim Filter As String
If e.Node.Text = "请点击选择" Then
Filter = ""
Else
Dim Value() As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
Case 0
Filter ="[年] = '" & Value(0) & "'"
Case 1
Filter ="[年] = '" & Value(0) & "' And [月] = '" & Value(1) & "'"
Case 2
Filter ="[年] = '" & Value(0) & "' And [月] = '" & Value(1) & "'And [日] = '" & Value(2) & "'"
End Select
End If
DataTables("坯布Table1").LoadFilter = Filter
DataTables("坯布Table1").Load()
[此贴子已经被作者于2015-1-20 18:52:44编辑过]