以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 统计筛选树错误 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=153986) |
-- 作者:237756360 -- 发布时间:2020/8/30 22:25:00 -- 统计筛选树错误 错误提示: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件:窗口,备忘录,AfterLoad 详细错误信息: 未将对象引用设置到对象的实例。 我的AfterLoad代码: Dim dt As DataTable Dim b As New SQLGroupTableBuilder("统计表1","主表") b.Groups.AddDef("大类") b.Groups.AddDef("小类") b.Groups.AddDef("作用范围") b.Totals.AddDef("_Identify",AggregateEnum.Count,"个数") \'根据客户列来统计记录数,也就是订单数 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 dalei As String = "\'" & nd.DataRow("大类") & "\'" Dim xiaolei As String = "\'" & nd.DataRow("小类") & "\'" Dim zuoyfw As String = "\'" & nd.DataRow("作用范围") & "\'" Select Case nd.Level Case 0 nd.Text = nd.text & "(" & dt.Compute("Sum(个数)","大类 = " & dalei) & "个)" Case 1 nd.Text = nd.text & "(" & dt.Compute("Sum(个数)","大类 = " & dalei & " And 小类 = " & xiaolei) & "个)" Case 2 nd.Text = nd.text & "(" & nd.DataRow("个数") & "个)" End Select Next trv.Nodes.Insert("加载所有数据","加载所有数据(" & dt.Compute("Sum(个数)") & "个)",0) trv.ResumeRedraw |
-- 作者:237756360 -- 发布时间:2020/8/30 22:26:00 -- NodeMouseDoubleClick代码: Dim Filter As String = "" If e.Node.Name <> "加载所有数据" Then Dim dalei As String = e.Node.DataRow("大类") Dim xiaolei As String = e.Node.DataRow("小类") Dim zuoyfw As String = e.Node.DataRow("作用范围") Select Case e.Node.Level Case 0 Filter = "[大类] = \'" & dalei & "\'" Case 1 Filter = "[大类] = \'" & dalei & "\'And [小类] = \'" & xiaolei & "\'" Case 2 Filter = "[大类] = \'" & dalei & "\'And [小类] = \'" & xiaolei & "\' And [作用范围] = \'" & zuoyfw & "\'" End Select End If DataTables("主表").LoadFilter = Filter DataTables("主表").Load()
[此贴子已经被作者于2020/8/30 22:27:00编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/8/30 22:30:00 -- 试试 Dim dt As DataTable Dim b As New SQLGroupTableBuilder("统计表1","主表") b.Groups.AddDef("大类") b.Groups.AddDef("小类") b.Groups.AddDef("作用范围") b.Totals.AddDef("大类",AggregateEnum.Count,"个数") \'根据客户列来统计记录数,也就是订单数 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 dalei As String = "\'" & nd.DataRow("大类") & "\'" Dim xiaolei As String = "\'" & nd.DataRow("小类") & "\'" Dim zuoyfw As String = "\'" & nd.DataRow("作用范围") & "\'" Select Case nd.Level Case 0 nd.Text = nd.text & "(" & dt.Compute("Sum(个数)","大类 = \'" & dalei & "\'") & "个)" Case 1 nd.Text = nd.text & "(" & dt.Compute("Sum(个数)","大类 = \'" & dalei & "\' And 小类 = \'" & xiaolei & "\'") & "个)" Case 2 nd.Text = nd.text & "(" & nd.DataRow("个数") & "个)" End Select Next trv.Nodes.Insert("加载所有数据","加载所有数据(" & dt.Compute("Sum(个数)") & "个)",0) trv.ResumeRedraw |
-- 作者:237756360 -- 发布时间:2020/8/31 0:37:00 -- 谢谢 |