Foxtable(狐表)用户栏目专家坐堂 → 求助,时间计算


  共有20189人关注过本帖树形打印复制链接

主题:求助,时间计算

帅哥哟,离线,有人找我吗?
czy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/1/28 16:35:00 [显示全部帖子]

如何实现请上传文件,两种方式应该用代码方便。




 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/1/29 23:02:00 [显示全部帖子]

DataColChanged事件代码:

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
Dim d1 As  Date = dr("加班止时间")
Dim d2 As  Date = dr("加班起时间")
Dim t As TimeSpan = d1 - d2
If dc.Name = "加班类型" OrElse dc.Name = "加班起时间" OrElse dc.Name = "加班止时间" Then
    if dr.IsNull("加班类型") OrElse dr.IsNull("加班起时间") OrElse dr.IsNull("加班止时间") Then
        dr("合计加班时间") = Nothing
        dr("单位") = Nothing
    Else
        if dr("加班类型") = "正常工作日" Then
            dr("合计加班时间") = t.Hours
            dr("单位") = "小时"
        End If
        if dr("加班类型") = "休息日" Then
            if t.Hours > 4 Then
                dr("合计加班时间") = 1
                dr("单位") = "天"
            ElseIf t.Hours > 2 Then
                dr("合计加班时间") = 0.5
                dr("单位") = "天"
            Else
                dr("合计加班时间") = t.Hours
                dr("单位") = "小时"
            End If
        End If
        if dr("加班类型") = "法定节假日" Then
            if t.Hours <= 4 Then
                dr("合计加班时间") = 0.5
                dr("单位") = "天"
            Else
                dr("合计加班时间") = 1
                dr("单位") = "天"
            End If
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/1/30 15:02:00 [显示全部帖子]

三楼可能理会错楼主的意思了,用下面的代码试试。

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
Dim d1 As  Date = dr("加班止时间")
Dim d2 As  Date = dr("加班起时间")
Dim t As TimeSpan = d1 - d2
If dc.Name = "加班类型" OrElse dc.Name = "加班起时间" OrElse dc.Name = "加班止时间" Then
    if dr.IsNull("加班类型") OrElse dr.IsNull("加班起时间") OrElse dr.IsNull("加班止时间") Then
        dr("合计加班时间") = Nothing
        dr("单位") = Nothing
    Else
        if dr("加班类型") = "正常工作日" Then
            dr("合计加班时间") = Math.Round(t.TotalHours,2)
            dr("单位") = "小时"
        End If
        if dr("加班类型") = "休息日" Then
            if t.TotalHours > 4 Then
                dr("合计加班时间") = 1
                dr("单位") = "天"
            ElseIf t.TotalHours > 2 Then
                dr("合计加班时间") = 0.5
                dr("单位") = "天"
            Else
                dr("合计加班时间") = Math.Round(t.TotalHours,2)
                dr("单位") = "小时"
            End If
        End If
        if dr("加班类型") = "法定节假日" Then
            if t.TotalHours <= 4 Then
                dr("合计加班时间") = 0.5
                dr("单位") = "天"
            Else
                dr("合计加班时间") = 1
                dr("单位") = "天"
            End If
        End If
    End If
End If
[此贴子已经被作者于2009-1-30 15:02:16编辑过]

 回到顶部