以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求保留小数代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44302)

--  作者:hdffcwj
--  发布时间:2013/12/27 12:51:00
--  求保留小数代码
如何用代码把所有表中为双精度类型的列保留两位小数呢??
--  作者:狐狸爸爸
--  发布时间:2013/12/27 12:53:00
--  

设置小数位数:

http://www.foxtable.com/help/topics/0050.htm

 

 


--  作者:hdffcwj
--  发布时间:2013/12/27 12:58:00
--  
我想用代码把100多张表的列都 统一改下,哎
--  作者:lsy
--  发布时间:2013/12/27 13:48:00
--  

用代码改的好像保存不了,放在AfterOpenProject比较合适。

 

所有数值列:

For Each dt As DataTable In DataTables
    If dt.Type = 1 OrElse dt.Type = 3 Then
        For Each dc As DataCol In dt.DataCols
            If dc.IsNumeric Then
                dc.Decimals = 2
                dc.SetFormat("#0.00")
            End If
        Next
    End If
Next

 

单精度、双精度、高精度:

For Each dt As DataTable In DataTables
    If dt.Type = 1 OrElse dt.Type = 3 Then
        For Each dc As DataCol In dt.DataCols
            If dc.DataType.Name = "Double" OrElse dc.DataType.Name = "Single" OrElse dc.DataType.Name = "Decimal" Then
                dc.Decimals = 2
                dc.SetFormat("#0.00")
            End If
        Next
    End If
Next

 

[此贴子已经被作者于2013-12-27 13:50:17编辑过]

--  作者:hdffcwj
--  发布时间:2013/12/27 14:25:00
--  
谢谢,还成功了!!!