以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 时间长格式化  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=77211)

--  作者:18929005187
--  发布时间:2015/11/12 21:23:00
--  [求助] 时间长格式化
根据工作时长和工资单价  求小计工资!    时长已经求出, 单价也出来了!


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.TotalSeconds() \'真正的时段型数据要转换为秒数,才能存入时段
            If  dr.IsNull("计时工资_工作时长") Or dr.IsNull("计时工资_工价")  Then
                dr("计时工资_工资小计") = Nothing
            Else
                dr("计时工资_工资小计") = dr("计时工资_工作时长") * dr("计时工资_工价")
            End If
        End If
End Select
[此贴子已经被作者于2015/11/12 21:25:45编辑过]

--  作者:大红袍
--  发布时间:2015/11/12 21:29:00
--  

这个意思?

 

dr("计时工资_工资小计") = tp.TotalHours * dr("计时工资_工价")


--  作者:18929005187
--  发布时间:2015/11/12 21:29:00
--  
Select Case e.DataCol.name
    Case "计时工资_上班时间","计时工资_下班时间","计时工资_工价"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("计时工资_上班时间") Or dr.IsNull("计时工资_上班时间") Or dr.IsNull("计时工资_工价")  Then
            dr("计时工资_工作时长") = Nothing
            dr("计时工资_工资小计") = Nothing
        Else
            Dim tp As TimeSpan
            tp = dr("计时工资_下班时间") - dr("计时工资_上班时间")
            dr("计时工资_工作时长") = tp.TotalSeconds() \'真正的时段型数据要转换为秒数,才能存入时段
            dr("计时工资_工资小计") = dr("计时工资_工作时长") * dr("计时工资_工价")/3600
        End If
End Select



搞定了,