Foxtable(狐表)用户栏目专家坐堂 → 代码优化


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

主题:代码优化

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


加好友 发短信
等级:婴狐 帖子:5 积分:108 威望:0 精华:0 注册:2019/11/7 18:09:00
代码优化  发帖心情 Post By:2019/11/11 9:54:00 [只看该作者]

我要统计员工出勤和工作内容,下表所提的周运维和月运维等是员工直接提交的表格,在表格统计行,如果提交工作内容为周运维,则周运维列自动等于;感觉这代码可以实现功能,但是太繁琐;有改进的可能吗?小白一枚,请谅解!
Select Case e.DataCol.Name
    Case "站点任务"
        Dim dr As DataRow = e.DataRow
        If e.DataRow ("站点任务") = "周运维" Then
            dr ("周运维") = 1
        Else
            dr ("周运维") = Nothing
        End If
        If e.DataRow("站点任务") = "月运维" Then
            dr ("月运维") = 1
        Else
            dr ("月运维") = Nothing
        End If
        If e.DataRow ("站点任务") = "季度运维" Then
            dr ("季度运维") = 1
        Else
            dr ("季度运维") = Nothing
        End If
        If e.DataRow ("站点任务") = "设备故障维修" Then
            dr ("设备故障维修") = 1
        Else
            dr ("设备故障维修") = Nothing
        End If
        If e.DataRow ("站点任务") = "质控考核" Then
            dr ("质控考核") = 1
        Else
            dr ("质控考核") = Nothing
        End If
        If e.DataRow ("站点任务") = "站点安装" Then
            dr ("站点安装") = 1
        Else
            dr ("站点安装") = Nothing
        End If
        If e.DataRow ("站点任务") = "站点调试" Then
            dr ("站点调试") = 1
        Else
            dr ("站点调试") = Nothing
        End If
        If e.DataRow ("站点任务") =  "年度巡检" Then
            dr ("年度巡检") = 1
        Else
            dr ("年度巡检") = Nothing
        End If
        If e.DataRow ("站点任务") =  "配合环保例行检查" Then
            dr ("配合环保例行检查") = 1
        Else
            dr ("配合环保例行检查") = Nothing
        End If
        If e.DataRow ("站点任务") = "其他" Then
            dr ("其他") = 1
        Else
            dr ("其他") = Nothing
        End If
End Select


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:37852 积分:192534 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/11 10:10:00 [只看该作者]

dim str as string = {"周运维","月运维","季度运维"}
Dim dr As DataRow = e.DataRow
for each s as string in str
     dr (s) = IIF(e.DataRow ("站点任务") = s,1,Nothing)
next

 回到顶部