以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 交叉统计表中,如何增加表达式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100150)

--  作者:2900819580
--  发布时间:2017/5/5 16:09:00
--  [求助] 交叉统计表中,如何增加表达式
如下图片和代码,请教两个问题
1) 如何可以将列名中的出勤时间* 改为  放假,加班,请假,上班,等
2) 如果可以增加列是设定表达式 dt.DataCols.Add("上班天数",Gettype(Double),上班 / 8) 注意,上班有的列名有时会变成了出勤时间3,有时会变其它数字


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


Dim g As New CrossTableBuilder(bb, DataTables("出勤汇总"))
g.HGroups.AddDef("部门")
g.HGroups.AddDef("姓名")
g.HGroups.AddDef("年份")
g.HGroups.AddDef("月份")
g.VGroups.AddDef("出勤情况")
g.Totals.AddDef("出勤时间", "出勤时间")
g.Filter = fi
g.Build()

Dim dt As DataTable = DataTables(bb)

For Each c As DataCol In dt.DataCols
    If c.Caption = "上班" Then dt.DataCols.Add("上班天数",Gettype(Double),c.Name / 8)
Next

--  作者:有点色
--  发布时间:2017/5/5 16:45:00
--  

1、列名不能修改,只能修改标题;

 

2、定义一个字典来用

 

Dim dic As new Dictionary(Of String, String)
For Each c As Col In Tables(bb).cols
    dic.add(c.Caption, c.Name)
Next

 

dt.DataCols.Add("上班天数",Gettype(Double), dic("上班") & "/ 8")

dt.DataCols.Add("加班天数",Gettype(Double), dic("加班") & "/ 8")

dt.DataCols.Add("请假天数",Gettype(Double), dic("请假") & "/ 8")

[此贴子已经被作者于2017/5/5 17:24:07编辑过]

--  作者:2900819580
--  发布时间:2017/5/5 17:12:00
--  

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

有错误。。。。

--  作者:有点蓝
--  发布时间:2017/5/5 17:15:00
--  

dt.DataCols.Add("上班天数",Gettype(Double), dic("上班") &" / 8") \'其它自己改改