以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何对临时表的数据设定格式?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=124797)

--  作者:njzwm
--  发布时间:2018/9/13 21:55:00
--  如何对临时表的数据设定格式?
临时表在窗口中正确显示了,但是如果设置其单元的格式呢?比如金额的格式设置为:"###,###.##"

Dim b As New GroupTableBuilder("单票统计",DataTables("外销货物明细表"))
b.Groups.AddDef("出口编号") \'根据产品分组
b.Totals.AddDef("金额") \'对数量进行统计
Tables("出口汇总_TableX").DataSource = b.BuildDataSource()
DataTables("出口汇总_TableX").SysStyles("Alternate").BackColor = Color.FromARGB(176,196,222)

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180913215318.jpg
图片点击可在新窗口打开查看

还有:就是如果在临时表中加入文本的列,比如上表中加上“单位”列,比如单位是美元,此数据存在主表中。

[此贴子已经被作者于2018/9/13 22:00:41编辑过]

--  作者:有点甜
--  发布时间:2018/9/13 22:31:00
--  

1、

 

DataTables("出口汇总_TableX").datacols("金额").SetFormat("#,###.##")

 

2、

 

http://www.foxtable.com/webhelp/scr/1428.htm

 


--  作者:njzwm
--  发布时间:2018/9/14 12:06:00
--  对有合计的临时表不管用
谢谢!解决了一部分问题,但是我发现在对于有合计的临时表,这个命令就出现错误,再次请教!


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180914113926.jpg
图片点击可在新窗口打开查看


Dim a As New CrossTableBuilder("细分交叉统计",DataTables("外销货物明细表"))
a.HGroups.AddDef("出口编号") \'添加客户列用于水平分组
a.VGroups.AddDef("产品英文名称") \'添加产品列用于垂直分组
a.Totals.AddDef("数量") \'添加数量列用于统计
a.Totals.AddDef("金额") \'添加数量列用于统计
a.VerticalTotal= True \'垂直汇总
a.HorizontalTotal = True \'水平汇总
Tables("出口汇总_TableA").DataSource = a.BuildDataSource()
DataTables("出口汇总_TableA").SysStyles("Alternate").BackColor = Color.FromARGB(255,228,181)
DataTables("出口汇总_TableA").datacols("金额").SetFormat("#,###.00")

第二个问题目前试了一下,但是出错,还没完全搞懂,请赐教,谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180914115714.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180914120444.jpg
图片点击可在新窗口打开查看

Dim b As New GroupTableBuilder("单票统计",DataTables("外销货物明细表"))
b.Groups.AddDef("出口编号") \'根据产品分组
b.Totals.AddDef("金额") \'对数量进行统计
DataTables("出口汇总_TableX").DataCols.Add("美元", Gettype(String),"[币制英文]")
Tables("出口汇总_TableX").DataSource = b.BuildDataSource()
DataTables("出口汇总_TableX").SysStyles("Alternate").BackColor = Color.FromARGB(176,196,222)
DataTables("出口汇总_TableX").datacols("金额").SetFormat("#,###.00")

[此贴子已经被作者于2018/9/14 12:06:59编辑过]

--  作者:有点甜
--  发布时间:2018/9/14 12:14:00
--  
Dim b As New GroupTableBuilder("单票统计",DataTables("外销货物明细表"))
b.Groups.AddDef("出口编号") \'根据产品分组
b.Totals.AddDef("金额") \'对数量进行统计
Tables("出口汇总_TableX").DataSource = b.BuildDataSource()
DataTables("出口汇总_TableX").DataCols.Add("美元", Gettype(String), 32, "USD")
DataTables("出口汇总_TableX").SysStyles("Alternate").BackColor = Color.FromARGB(176,196,222)
DataTables("出口汇总_TableX").datacols("金额").SetFormat("#,###.00")

--  作者:njzwm
--  发布时间:2018/9/14 14:45:00
--  还是出错!

此主题相关图片如下:tim截图20180914144324.jpg
按此在新窗口浏览图片

Dim b As New GroupTableBuilder("单票统计",DataTables("外销货物明细表"))
b.Groups.AddDef("出口编号") \'根据产品分组
b.Totals.AddDef("金额") \'对数量进行统计
Tables("出口汇总_TableX").DataSource = b.BuildDataSource()
DataTables("出口汇总_TableX").DataCols.Add("美元", Gettype(String), 32, "USD")
DataTables("出口汇总_TableX").SysStyles("Alternate").BackColor = Color.FromARGB(176,196,222)
DataTables("出口汇总_TableX").datacols("金额").SetFormat("#,###.00")


[此贴子已经被作者于2018/9/14 14:45:48编辑过]

--  作者:有点甜
--  发布时间:2018/9/14 15:12:00
--  
Dim b As New GroupTableBuilder("单票统计",DataTables("外销货物明细表"))
b.Groups.AddDef("出口编号") \'根据产品分组
b.Totals.AddDef("金额") \'对数量进行统计
Tables("出口汇总_TableX").DataSource = b.BuildDataSource()
DataTables("出口汇总_TableX").DataCols.Add("美元", Gettype(String), 32, "\'USD\'")
DataTables("出口汇总_TableX").SysStyles("Alternate").BackColor = Color.FromARGB(176,196,222)
DataTables("出口汇总_TableX").datacols("金额").SetFormat("#,###.00")

--  作者:njzwm
--  发布时间:2018/9/14 16:25:00
--  谢谢!完美!第一个问题还请指点啊
带合计的临时表设置格式问题还有待专家指点啊!
--  作者:有点甜
--  发布时间:2018/9/14 16:39:00
--  
以下是引用njzwm在2018/9/14 16:25:00的发言:
带合计的临时表设置格式问题还有待专家指点啊!

 

合计模式?不能用汇总模式?具体问题截图或者实例说明。


--  作者:njzwm
--  发布时间:2018/9/14 21:58:00
--  有total合计后就出现问题!

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180914214124.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:tim截图dd.jpg
图片点击可在新窗口打开查看

Dim a As New CrossTableBuilder("细分交叉统计",DataTables("外销货物明细表"))
a.HGroups.AddDef("出口编号") \'按编号分组
a.VGroups.AddDef("产品英文名称") \'按产品分组
a.Totals.AddDef("数量") \'添加数量列用于统计
a.Totals.AddDef("金额") \'添加金额列用于统计
a.VerticalTotal= True \'垂直汇总
a.HorizontalTotal = True \'水平汇总
Tables("出口汇总_TableA").DataSource = a.BuildDataSource()
DataTables("出口汇总_TableA").SysStyles("Alternate").BackColor = Color.FromARGB(255,228,181)
DataTables("出口汇总_TableA").datacols("金额").SetFormat("#,###.00")

此处有Total语句出现后,数据格式就设置不成功了。

还有一个问题:临时表如果多增加几个字段(“美元”;“单位”etc),如何设置这些新添加字段的顺序。

--  作者:有点蓝
--  发布时间:2018/9/14 22:10:00
--  
Dim a As New CrossTableBuilder("细分交叉统计",DataTables("外销货物明细表"))
a.HGroups.AddDef("出口编号") \'按编号分组
a.VGroups.AddDef("产品英文名称") \'按产品分组
a.Totals.AddDef("数量") \'添加数量列用于统计
a.Totals.AddDef("金额") \'添加金额列用于统计
a.VerticalTotal= True \'垂直汇总
a.HorizontalTotal = True \'水平汇总
a.Build
到命令窗口执行上面代码,然后打开这个表,再去查看表结构,看真正的列名

或者不用管列名,只要是数值列就统一设置
Tables("出口汇总_TableA").DataSource = a.BuildDataSource()
For Each c As DataCol In DataTables("出口汇总_TableA").DataCols
    If c.IsNumeric Then
        c..SetFormat("#,###.00")
    End If
Next