Foxtable(狐表)用户栏目专家坐堂 → 判断完成进度的问题,求助


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

主题:判断完成进度的问题,求助

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


加好友 发短信
等级:幼狐 帖子:81 积分:979 威望:0 精华:0 注册:2017/11/19 21:02:00
判断完成进度的问题,求助  发帖心情 Post By:2022/1/17 12:48:00 [只看该作者]

求助,想实现以下功能:

当状态列新值为“已完成”时,进度列对应行赋值100
当状态列新值为“未完成”时,进度列判定:
班组列空值,进度列为“0”;不是空值,进度列为25
区域审批列空值,进度列为“25”;不是空值,进度列为50
中心审批列空值,进度列为“50”;不是空值,进度列为75

以下是我的代码,但实现不了这个功能请大神赐教!!!
    If e.NewValue = "已完成" Then
        e.DataRow("中心审批") = user.Name
        e.DataRow("中心审批时间") = Date.Today
        e.DataRow("进度") = "100"
    ElseIf e.NewValue = "未完成" Then
        Select Case e.DataCol.Name
            Case "班组"
                If e.NewValue = Nothing
                    e.DataRow("进度") = "0"
                Else
                    e.DataRow("进度") = "25"
                End If
            Case "区域审批"
                If e.NewValue = Nothing
                    e.DataRow("进度") = "25"
                Else
                    e.DataRow("进度") = "50"
                End If
            Case "状态"
                If e.NewValue = "已完成"
                    e.DataRow("中心审批") = user.Name
                    e.DataRow("中心审批时间") = Date.Today
                End If
            Case "中心审批"
                If e.NewValue = Nothing
                    e.DataRow("进度") = "50"
                Else
                    e.DataRow("进度") = "75"
                End If
            Case "状态"
                If e.NewValue = "已完成"
                    e.DataRow("进度") = "100"
                End If
        End Select
    End If
End If

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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2022/1/17 13:03:00 [只看该作者]

Select Case e.DataCol.Name
    Case "班组"
        If e.NewValue = Nothing
            e.DataRow("进度") = "0"
        Else
            e.DataRow("进度") = "25"
        End If
    Case "区域审批"
        If e.NewValue = Nothing
            e.DataRow("进度") = "25"
        Else
            e.DataRow("进度") = "50"
        End If
    Case "中心审批"
        If e.NewValue = Nothing
            e.DataRow("进度") = "50"
        Else
            e.DataRow("进度") = "75"
        End If
    Case "状态"
        If e.NewValue = "已完成"
            e.DataRow("进度") = "100"
            e.DataRow("中心审批") = user.Name
            e.DataRow("中心审批时间") = Date.Today
        End If
End Select

 

你这样写多了一个环节,我觉得应该是班组提交为:25,班组审批为:50,区域审批为:75,中心审批完:100。

或是换一个方式,直接用状态列来控制进度,这样更科学,比如下面这样。

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20220117131505.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/1/17 13:15:37编辑过]

 回到顶部