Foxtable(狐表)用户栏目专家坐堂 → 加载树显示统计数据


  共有5142人关注过本帖树形打印复制链接

主题:加载树显示统计数据

帅哥哟,离线,有人找我吗?
Liangcai
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
加载树显示统计数据  发帖心情 Post By:2013/12/14 22:34:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT 产品,客户,雇员, Count([_Identify]) As 订单数 From {订单} Group By 产品,客户,雇员"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "产品|客户|雇员")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim Value()As String
    Dim Filter As String

    Value = nd.FullName.Split("\") '注意这里用FullName属性,不能用FullPath属性
    Select Case nd.Level
        Case 0
            nd.text = nd.text & "产品"
            Filter = "产品 = " & value(0)
        Case 1
            nd.text = nd.text & "客户"
            Filter = "产品 = " & value(0) & " And 客户 = " & value(1)
        Case 2
            Filter = "产品 = " & value(0) & " And 客户 = " & value(1) & " And 雇员 = '" & Value(2) & "'"
    End Select
    nd.Text = nd.text & "(" & dt.Compute("Sum(订单数)",Filter) & "条)"
Next
trv.Nodes.Insert("加载所有行","加载所有行(" & dt.Compute("Sum(订单数)") & "条)",0)
trv.ResumeRedraw

怎么不能实现?请指教


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/14 23:02:00 [只看该作者]

 呃,哪里不行?

 回到顶部
帅哥哟,离线,有人找我吗?
Liangcai
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2013/12/14 23:10:00 [只看该作者]

师傅出现这样错误


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131214230941.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2013-12-15 10:30:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/15 20:30:00 [只看该作者]

 条件需要加入单引号

Select Case nd.Level
    Case 0
        nd.text = nd.text & "产品"
        Filter = "产品 = '" & value(0) & "'"
    Case 1
        nd.text = nd.text & "客户"
        Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "'"
    Case 2
        Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "' And 雇员 = '" & Value(2) & "'"
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
Liangcai
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2013/12/15 22:10:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT 产品,客户,雇员, Count([_Identify]) As 订单数 From {订单} WHERE 产品 = 'PD01' Group By 产品,客户,雇员"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "产品|客户|雇员")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim Value()As String
    Dim Filter As String

    Value = nd.FullPath.Split("\") '注意这里用FullName属性,不能用FullPath属性
Select Case nd.Level
    Case 0
        nd.text = nd.text & "产品"
        Filter = "产品 = '" & value(0) & "'"
    Case 1
        nd.text = nd.text & "客户"
        Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "'"
    Case 2
        Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "' And 雇员 = '" & Value(2) & "'"
End Select
    nd.Text = nd.text & "(" & DataTables("订单").Compute("Count([_Identify])",Filter) & "条)"
Next
trv.ResumeRedraw

 

生成结果只能产品统计,客户、雇员没有统计

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131215220837.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/15 22:14:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT 产品,客户,雇员, Count([_Identify]) As 订单数 From {订单} WHERE 产品 = 'PD01' Group By 产品,客户,雇员"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "产品|客户|雇员")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim Value()As String
    Dim Filter As String

    Value = nd.FullName.Split("\") '注意这里用FullName属性,不能用FullPath属性
Select Case nd.Level
    Case 0
        nd.text = nd.text & "产品"
        Filter = "产品 = '" & value(0) & "'"
    Case 1
        nd.text = nd.text & "客户"
        Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "'"
    Case 2
        Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "' And 雇员 = '" & Value(2) & "'"
End Select
    nd.Text = nd.text & "(" & DataTables("订单").Compute("Count([_Identify])",Filter) & "条)"
Next
trv.ResumeRedraw


 回到顶部
帅哥哟,离线,有人找我吗?
Liangcai
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2013/12/15 22:31:00 [只看该作者]

谢谢


 回到顶部