提示错误如下:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.6.12.1
错误所在事件:
详细错误信息:
从字符串“杨毅军”到类型“Decimal”的转换无效。
杨毅军这个值是承办人的值 也就是第三节点的值
代码已经修正为:
Dim dt As DataTable
Dim b As New GroupTableBuilder("统计表1",DataTables("卷宗入库"))
b.Groups.AddDef("录入时间",DateGroupEnum.Year,"年")
b.Groups.AddDef("录入时间",DateGroupEnum.Month,"月")
b.Groups.AddDef("承办人")
b.Totals.AddDef("承办人",AggregateEnum.Count,"卷宗编号") '根据客户列来统计记录数,也就是卷宗编号
b.Totals.AddDef("承办人",AggregateEnum.sum,"卷宗册数")
dt = b.Build(True) '参数设置为True,生成一个临时表,不在主界面显示
'然后根据统计表生成目录树
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|承办人")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
Dim Year As Integer = nd.DataRow("年")
Dim Month As Integer = nd.DataRow("月")
Dim Product As String = nd.DataRow("承办人")
Select Case nd.Level
Case 0
nd.Text = nd.text & "年(" & dt.Compute("Sum(卷宗编号)","年 = " & Year) & "卷" & dt.Compute("Sum(卷宗册数)","年= " & Year) & "册)"
Case 1
nd.Text = nd.text & "月(" & dt.Compute("Sum(卷宗编号)","年 = " & Year & " And 月 = " & Month) & "卷" & dt.Compute("Sum(卷宗册数)","年 = " & Year & " And 月 = " & Month) & "册)"
Case 2
nd.Text = nd.text & "(" & nd.DataRow("卷宗编号") & "卷" & dt.Compute("Sum(卷宗册数)","年 = " & Year & " And 月 = " & Month & " and 承办人 = " & Product) & "册)"
End Select
Next
trv.Nodes.Insert("显示所有行","显示所有行(" & dt.Compute("Sum(卷宗编号)") & "卷" &dt.Compute("Sum(卷宗册数)") & "册)",0)
trv.ResumeRedraw