以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]在代码中设置表达式列,System.Int64这种字符串会被强制转换为小写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159300)

--  作者:google78
--  发布时间:2020/12/21 17:11:00
--  [求助]在代码中设置表达式列,System.Int64这种字符串会被强制转换为小写
dtb.AddDef("同比增长", Gettype(String),32,"Convert((本年合同额-上年合同额)/上年合同额*10000,\'system.int64\')/100 + \'%\'")

由于统计表格不规范,使用代码手工建表,因为不想生成table,就让datatable的同比列一步到位直接四舍五入加百分号转换为字符串,避免生成网页的时候还要设置格式.

结果发现System.Int64这个字符串在代码中会被自动转换为全小写,而在表达式列计算过程中System.Int64这个字符串对大小写是敏感的.

函数编译没错误,生成datatable没错,但是在填充数据时就会出错了.

--  作者:google78
--  发布时间:2020/12/21 17:22:00
--  
dtb.AddDef("本年占比", Gettype(String),32,"Convert(本年合同额/sum(本年合同额)*10000,\'" & zx & "\')/100 + \'%\'")
增加了一个字符串变量,倒是解决了这个问题,但是我看自动生成的统计表的百分列在生成网页时,都不存在转换问题,有什么简单的方法吗?

--  作者:有点蓝
--  发布时间:2020/12/21 17:33:00
--  
我测试没有问题呀。可以试试这个:http://www.foxtable.com/webhelp/topics/1273.htm