以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]移动版DataTable生成网页的小数位数问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100833)

--  作者:haotinghua
--  发布时间:2017/5/19 11:49:00
--  [求助]移动版DataTable生成网页的小数位数问题

网页设计中,先用SQL从数据源中调取需要的明细数据,因为要实现交叉统计功能,而且希望代码运营后就可销毁,所以采用Datatable方式,

第一步从SQL从数据源中调取数据进行了专门测试,数据显示是没有小数点的,

第二步在调取的数据明细的Datatable(定义为变量dt) 进行交叉统计而形成一个Datatable(定义为变量t),显示了两位的小数位,

g.Decimals=0 不起作用,帮助里面的 DataTables("订单").DataCols("折扣").SetFormat("0.00") 不知道应该放到代码什么位置,没有弄成功。

请求协助!

希望显示的数据是整数(去掉小数点及后面的数字)

 


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

代码如附件(帖子上发不起

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:daima.txt

[此贴子已经被作者于2017/5/19 11:53:35编辑过]

--  作者:有点色
--  发布时间:2017/5/19 15:03:00
--  

t = g.Build(True)
For Each dc As DataCol In t.DataCols
    If dc.IsNumeric Then
        dc.Decimals = 0
        dc.SetFormat("0")
    End If
Next
With wb.AddTable("","Table1")
    .CreateFromDataTable(t,False)
End With
e.WriteString(wb.Build)

--  作者:haotinghua
--  发布时间:2017/5/19 17:39:00
--  
谢谢@有点色,不过我测试了还是原来的两位小数位,也换了浏览器测试,也把这段代码放到后面几行中间测试仍未解决。
用命令窗口对交叉表过后某列进行output.show输出,是整数(未使用您提供的代码)
会不会有其它原因呢?
[此贴子已经被作者于2017/5/19 18:04:29编辑过]

--  作者:有点色
--  发布时间:2017/5/19 17:58:00
--  

 要改成

 

        With wb.AddTable("","Table1")
              .CreateFromTable(Tables("统计表1"),False)
        End With
        e.WriteString(wb.Build)

 

 


--  作者:haotinghua
--  发布时间:2017/5/19 18:08:00
--  
但是我的Tables("统计表1")是未显示出来的,用的是datatable,用您新提供的代码测试了,提示未找到table
谢谢了

如果是用临时表的方式,表名可以动态设置时唯一的,如果有不同使用人用手机浏览器访问时也不冲突,不过有一点不太确定,如果某个使用人跳转其它页面时这个临时表会不会自动删除(只存在代码运行期间)
否则担心服务器table过多,而且不知道用临时表假设代码运行后自动删除对效率影响大不大,毕竟手机端体验时间上长短体验感差别很大
[此贴子已经被作者于2017/5/19 18:30:15编辑过]

--  作者:有点蓝
--  发布时间:2017/5/19 20:34:00
--  
应该使用临时表,代码执行完毕就会自动销毁。

显示出来的并发的时候更容易被其它人覆盖。

--  作者:haotinghua
--  发布时间:2017/5/20 17:21:00
--  
我用临时表来处理了,可以解决小数点的问题。不过想数字单元格居中没有成功。哈哈。不知道有没有什么好办法?
--  作者:有点色
--  发布时间:2017/5/22 8:53:00
--  
以下是引用haotinghua在2017/5/20 17:21:00的发言:
我用临时表来处理了,可以解决小数点的问题。不过想数字单元格居中没有成功。哈哈。不知道有没有什么好办法?

 

可以用代码生成表格的,参考

 

http://www.foxtable.com/mobilehelp/scr/0072.htm

 


--  作者:haotinghua
--  发布时间:2017/5/22 23:07:00
--  
谢谢!
我采用的临时表,居中问题后来在论坛中找了解决办法。

        With wb.AddTable("","Table1")
           .Attribute = "Style=""text-align:center"""    ‘居中处理   
            .CreateFromTable(Tables("XXX"),False)
        End With