-- 作者:yupeng
-- 发布时间:2016/12/13 16:24:00
-- [讨论]筛选树
参考CaseStudy目录下的文件:统计筛选树.Table
老师我参考上面的例子做了一个统计筛选树,在点击子节点时出错,第一个节点没有问题,代码如下,请老师帮忙看一下。麻烦您了
Dim Filter As String = "" If e.node.Name <> "显示所有行" Then \'要用Name属性,不能用Text属性 Dim d1 As Date Dim d2 As Date Dim splx As String = e.Node.DataRow("商品描述_类型") Dim spmx As String = e.Node.DataRow("商品描述_款式") Select Case e.Node.Level Case 0 Filter = "商品描述_类型 = \'" & splx & "\'" Case 1 Filter = "商品描述_类型 = \'" & splx & "\'" And "商品描述_类型 = \'" & spmx & "\'" End Select End If Tables("商品表").Filter = Filter
此主题相关图片如下:01.jpg
|
-- 作者:yupeng
-- 发布时间:2016/12/13 17:13:00
--
老师 新出来个问题了 还要麻烦您一下 谢谢您
\'首先生成统计表 Dim dt As DataTable Dim b As New GroupTableBuilder("统计表1",DataTables("商品表")) b.Groups.AddDef("商品描述_类型") b.Groups.AddDef("商品描述_款式") b.Totals.AddDef("商品描述_款号",AggregateEnum.Count,"订单数") \'根据客户列来统计记录数,也就是订单数 dt = b.Build(False) \'参数设置为False,生成一个临时表,不在主界面显示 \'然后根据统计表生成目录树 Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree(dt, "商品描述_类型|商品描述_款式") trv.StopRedraw For Each nd As WinForm.TreeNode In trv.AllNodes Dim splx As String = nd.DataRow("商品描述_类型") Dim Product As String = nd.DataRow("商品描述_款式") Select Case nd.Level Case 0 nd.Text = nd.text & "(" & nd.DataRow("订单数") & "款)"
Case 1 nd.Text = nd.text & "(" & nd.DataRow("订单数") & "款)" End Select Next trv.Nodes.Insert("显示所有行","显示所有行(" & dt.Compute("Sum(订单数)") & "款)",0) trv.ResumeRedraw
此主题相关图片如下:12.jpg
|