以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据显示  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186298)

--  作者:薛翁
--  发布时间:2023/4/20 2:48:00
--  [求助]数据显示
DrawCell 事件
If e.Col.IsNumeric Then
    If e.Row(e.Col.name) = 0 Then
        e.text = ""
    Else
        e.text = format(e.Row(e.Col.name), "#,###.00")
    End If
End If
很容易就实现了0不显示和数字的千分位显示。
用户有要求,数字要4位分节显示,即一眼就可以看出是多少万。
请问有没有办法实现?
谢谢!

--  作者:有点蓝
--  发布时间:2023/4/20 9:32:00
--  
Dim d As Double = 123456789.12
Dim ss() As String = CStr(d).Split(".")
Dim s As String
Dim s1 As String = ss (0)
Do While s1.Length > 4
    s = s1.Substring (s1.Length - 4) & "-" & s
    s1 = Left(s1, s1.Length - 4)
Loop
s = s1 & "-" & s.Trim("-") & "." & ss(1)
Output.Show(s)


--  作者:薛翁
--  发布时间:2023/4/21 8:42:00
--  
DrawCell 事件
If e.Col.IsNumeric Then
    If e.Row(e.Col.name) = 0 Then
        e.text = ""
    Else
        e.text = format(e.Row(e.Col.name), "#,###.00")
    End If
End If
很容易就实现了0不显示和数字的千分位显示。
用户有要求,数字要4位分节显示,即一眼就可以看出是多少万。
请问有没有办法实现?
 在DrawCell事件中如何编程?



--  作者:有点蓝
--  发布时间:2023/4/21 8:51:00
--  
看2楼,看懂代码,套到drawcell事件里即可