以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎样在table临时插入一列,来统计百分率? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90129) |
-- 作者:有点蓝 -- 发布时间:2016/9/6 10:18:00 -- 参考:http://www.foxtable.com/webhelp/scr/1428.htm |
-- 作者:有点蓝 -- 发布时间:2016/9/6 14:20:00 -- 测试没有问题,例子说话 |
-- 作者:有点蓝 -- 发布时间:2016/9/6 20:43:00 -- 手动格式一下 。。。。。 Tables("窗口1_Table1").DataSource = b11.BuildDataSource() DataTables("窗口1_Table1").DataCols(3).SetFormat("00.0%") DataTables("窗口1_Table1").DataCols(5).SetFormat("00.0%") |
-- 作者:有点蓝 -- 发布时间:2016/9/6 23:03:00 -- 参考:http://www.foxtable.com/webhelp/scr/2305.htm 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 |
-- 作者:有点蓝 -- 发布时间:2016/9/6 23:24:00 -- DataTables("窗口1_Table1").DataCols.Add ("完成率", Gettype(Double), "[工单流水号_2] / [合计]") DataTables("窗口1_Table1").DataCols("完成率").SetFormat("00.0%")
|
-- 作者:有点蓝 -- 发布时间:2016/9/7 8:46:00 -- Dim b11 As New CrossTableBuilder("统计表2",DataTables("a")) b11.HGroups.AddDef("处理部门") \'根据产品分组 b11.HGroups.AddDef("处理人") \'根据产品分组 b11.VGroups.AddDef("是否完成红绿灯") b11.Totals.AddDef("工单流水号",AggregateEnum.Count,"竣工量") \'对数量进行统计 b11.HorizontalTotal = True b11.HorizontalProportion = True b11.Subtotal = True Tables("窗口1_Table1").DataSource = b11.BuildDataSource() DataTables("窗口1_Table1").DataCols(3).SetFormat("00.0%") DataTables("窗口1_Table1").DataCols(5).SetFormat("00.0%") DataTables("窗口1_Table1").DataCols.Add ("完成率", Gettype(Double), "[工单流水号_2] / [合计]") DataTables("窗口1_Table1").DataCols("完成率").SetFormat("00.0%") Dim r As Row With Tables("窗口1_Table1") For i As Integer = 0 To .Rows.Count(True) - 1 r = .Rows(i,True) If r.IsGroup Then \'如果是分组行 r("工单流水号_1hp") = r("工单流水号_1") /r("合计") r("工单流水号_2hp") = r("工单流水号_2") /r("合计") r("完成率") = r("工单流水号_2") /r("合计") End If Next End With
|
-- 作者:有点蓝 -- 发布时间:2016/10/19 16:40:00 -- 就是你代码的用法的,VGroups没有办法 Dim b11 As New CrossTableBuilder("统计表2",DataTables("a")) b11.HGroups.AddDef("处理部门") \'根据产品分组 b11.HGroups.AddDef("处理人") \'根据产品分组 b11.VGroups.AddDef("施工类型") b11.VGroups.AddDef("是否完成红绿灯") b11.Totals.AddDef("工单流水号",AggregateEnum.Count,"竣工量") \'对数量进行统计 b11.HorizontalTotal = True \'b11.HorizontalProportion =True b11.Subtotal = True b11.Build \'DataTables("窗口1_Table1").DataCols(3).SetFormat("00.0%") \'DataTables("窗口1_Table1").DataCols(5).SetFormat("00.0%") DataTables("统计表2").DataCols.Add ("完成率", Gettype(Double), "[工单流水号_2] / [合计]") DataTables("统计表2").DataCols("完成率").SetFormat("00.0%") DataTables("统计表2").DataCols.Add ("移机完成率", Gettype(Double), "[工单流水号_2] / [合计]") DataTables("统计表2").DataCols("移机完成率").SetFormat("00.0%") Dim r As Row With Tables("统计表2") For i As Integer = 0 To .Rows.Count(True) - 1 r = .Rows(i,True) If r.IsGroup Then \'如果是分组行 r("完成率") = r("工单流水号_2") /r("合计") r("移机完成率") = r("工单流水号_1") /r("合计") End If Next End With |