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()
End If
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()
End If
End Select
另外总时间改为表达式列: [上午上班时间] + [下午上班时间]
如果的上班时间不存在跨越午夜12点的情况,可能用表达式计算会方便很多:
建议你先按顺序看帮助两遍。