Foxtable(狐表)用户栏目专家坐堂 → [求助]如何通过组合多个统计结果后台生成目录树


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

主题:[求助]如何通过组合多个统计结果后台生成目录树

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


加好友 发短信
等级:童狐 帖子:284 积分:2793 威望:0 精华:0 注册:2012/10/26 0:45:00
[求助]如何通过组合多个统计结果后台生成目录树  发帖心情 Post By:2019/1/28 19:08:00 [只看该作者]

如何通过组合多个统计结果后台生成目录树

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("进货单"))
Dim
dt1 As fxDataSource
bd1
.Groups.AddDef("型号") '根据型号分组
bd1
.Totals.AddDef("数量","进货_数量") '对数量进行统计
bd1
.Totals.AddDef("金额","进货_金额") '对金额进行统计
dt1
= bd1.BuildDataSource()

Dim
bd2 As New GroupTableBuilder("统计表2",DataTables("销售单"))
Dim
dt2  As fxDataSource
bd2
.Groups.AddDef("型号") '根据型号分组
bd2
.Totals.AddDef("数量","销售_数量") '对数量进行统计
bd2
.Totals.AddDef("金额","销售_金额") '对金额进行统计
dt2
= bd2.BuildDataSource()

Dim bd3 As New GroupTableBuilder("统计表3",DataTables("退货单"))
Dim
dt3 As fxDataSource
bd3
.Groups.AddDef("型号") '根据型号分组
bd3
.Totals.AddDef("数量","退货_数量") '对数量进行统计
bd3
.Totals.AddDef("金额","退货_金额") '对金额进行统计
dt3 = bd3.BuildDataSource()

dt1.Combine("型号",dt2,"型号") '将销售统计数据组合到进货统计数据
dt1
.Combine("型号",dt3,"型号") '将退货统计数据组合到进货统计数据

Tables("窗口1_Table1").DataSource = dt1 '将统计结果绑定到Table
With
DataTables("窗口1_Table1").DataCols  '用表达式列计算库存数据
   
.Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0) - ISNULL([退货_数量],0)")
   
.Add("库存_金额",Gettype(Double), "[库存_数量] /[进货_数量] * [进货_金额]"
End With


窗口中增加目录树控件,如何不显示表后台直接生成目录树,请老师帮忙看看,谢谢!!!


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/28 20:50:00 [只看该作者]

……
dt1.Combine("型号",dt2,"型号") '将销售统计数据组合到进货统计数据
dt1.Combine("型号",dt3,"型号") '将退货统计数据组合到进货统计数据
Dim dt As DataTable  = dt1.ConvetToDataTable
'Tables("窗口1_Table1").DataSource = dt1 '将统计结果绑定到Table
With dt.DataCols  '用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0) - ISNULL([退货_数量],0)")
    .Add("库存_金额",Gettype(Double), "[库存_数量] /[进货_数量] * [进货_金额]") 
End With

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"型号")

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


加好友 发短信
等级:童狐 帖子:284 积分:2793 威望:0 精华:0 注册:2012/10/26 0:45:00
  发帖心情 Post By:2019/1/29 6:52:00 [只看该作者]

谢谢老师!!!

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


加好友 发短信
等级:童狐 帖子:284 积分:2793 威望:0 精华:0 注册:2012/10/26 0:45:00
  发帖心情 Post By:2019/1/30 13:26:00 [只看该作者]

我想再请问一下老师
如果生成的表想进一步筛选一下在生成目录树,例如上面的例子
我想在筛选一下  只有 "库存_数量<100"  的数据才能成目录树,应该如何设置

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


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

trv.BuildTree(dt,"型号","库存_数量<100")

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


加好友 发短信
等级:童狐 帖子:284 积分:2793 威望:0 精华:0 注册:2012/10/26 0:45:00
  发帖心情 Post By:2019/1/30 15:28:00 [只看该作者]

谢谢!

 回到顶部