以文本方式查看主题

-  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=103873)

--  作者:szsmall
--  发布时间:2017/7/18 23:40:00
--  时间段计算,时长按规定显示
时长现在显示“04”,如何才能显示“4”?如果2:30,可以显示成2.5,因为后面单位接小时


图片点击可在新窗口打开查看此主题相关图片如下:foxtable 时长计算问题.jpg
图片点击可在新窗口打开查看




--  作者:有点蓝
--  发布时间:2017/7/19 8:49:00
--  
不用时段列,直接显示:http://www.foxtable.com/webhelp/scr/0295.htm



--  作者:szsmall
--  发布时间:2017/7/19 11:50:00
--  
之前按下面的说明,双精度的拓展列类型,调成时段,结果出现错误。调成“无”,才正常。
怎样的情况,才需要拓展列类型,调成“时段”

http://www.foxtable.com/webhelp/index.htm?page=2506.htm


图片点击可在新窗口打开查看此主题相关图片如下:foxtable 时长计算问题2.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/7/19 11:51:25编辑过]

--  作者:有点蓝
--  发布时间:2017/7/19 12:29:00
--  
代码怎么写的?
--  作者:szsmall
--  发布时间:2017/7/19 12:34:00
--  
DataColChanged

Select Case e.DataCol.name
    Case "开始时间","结束时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("开始时间") Or dr.IsNull("结束时间") Then
           dr("时长") = Nothing
        Else
            Dim tp As TimeSpan
            tp = dr("结束时间") - dr("开始时间")
            dr("时长") = tp.TotalHours()  \'真正的时段型数据要转换为秒数,才能存入时段列
        End If
End Select

--  作者:有点甜
--  发布时间:2017/7/19 14:32:00
--  

回复5楼,代码没问题。不需要设置成时段。时段是根据你的数据如2.5转换成秒以后显示的。