Foxtable(狐表)用户栏目专家坐堂 → [求助]同一个表3个时间列,修改其中1个时间列其他2个时间列同时修改


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

主题:[求助]同一个表3个时间列,修改其中1个时间列其他2个时间列同时修改

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
[求助]同一个表3个时间列,修改其中1个时间列其他2个时间列同时修改  发帖心情 Post By:2018/6/29 17:57:00 [显示全部帖子]

如题,不想用表达式,希望用代码实现

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)1、修改的逻辑是什么? 2、...  发帖心情 Post By:2018/6/29 19:11:00 [显示全部帖子]

下面代码,能优化吗?这样写很长

 

'3列修改同步修改

Select Case e.DataCol.Name

    Case "第一列","第二列","第三列"

 

        If e.DataCol.Name = "第一列" Then

            If e.NewValue Is Nothing Then

                e.DataRow("第二列") = Nothing

                e.DataRow("第三列") = Nothing

            Else

               

                Dim dr As DataRow = e.DataRow

                If dr.IsNull("第一列") = False Then '身份证号码是否为空

                    dr("第二列") = dr("第一列")

                    dr("第三列") = dr("第一列")

                End If

            End If

        End If

 

If e.DataCol.Name = "第二列" Then

            If e.NewValue Is Nothing Then

                e.DataRow("第一列") = Nothing

                e.DataRow("第三列") = Nothing

            Else

               

                Dim dr As DataRow = e.DataRow

                If dr.IsNull("第二列") = False Then '身份证号码是否为空

                    dr("第二列") = dr("第二列")

                    dr("第三列") = dr("第二列")

                End If

            End If

        End If

 

If e.DataCol.Name = "第三列" Then

            If e.NewValue Is Nothing Then

                e.DataRow("第二列") = Nothing

                e.DataRow("第一列") = Nothing

            Else

               

                Dim dr As DataRow = e.DataRow

                If dr.IsNull("第三列") = False Then '身份证号码是否为空

                    dr("第二列") = dr("第三列")

                    dr("第一列") = dr("第三列")

                End If

            End If

        End If

 

End Select


 回到顶部