Foxtable(狐表)用户栏目专家坐堂 → [求助]大神帮忙看看datacolchanging及changed代码为啥有时候不灵


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

主题:[求助]大神帮忙看看datacolchanging及changed代码为啥有时候不灵

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


加好友 发短信
等级:幼狐 帖子:161 积分:1306 威望:0 精华:0 注册:2020/3/14 22:13:00
[求助]大神帮忙看看datacolchanging及changed代码为啥有时候不灵  发帖心情 Post By:2021/6/8 11:08:00 [只看该作者]

各位大神帮忙看看:
  以下这段代码是不是写的太菜,还是没有加入判断语句什么的。
我放在datacolchanged和changing,有的时候不灵:(表和窗口都是 {列表项目输入的} )
   比如【项目类型】列中选择“方案”,但是 【生产状态】的列会自动改变或输入,但是【设计状态】的就可以。。。

有的时候是可以的,有的时候不行,(试过changing和changed,因为有时候是OK的,字节都是对得上)
   

If e.DataCol.Name = "项目类型" Then
    Dim lx As String = e.newvalue
    Select Case lx
     Case "方案"
         e.DataRow("生产状态") = "不需要生产"
         e.DataRow("设计状态") = "设计待分配"
     Case "生产案"
         e.DataRow("生产状态") = "生产未受理"
         e.DataRow("设计状态") = "不需要设计"
     Case "设计案"
         e.DataRow("生产状态") = "待图纸下发"
         e.DataRow("设计状态") = "设计待分配"
    End Select
End If

If e.DataCol.Name = "设计状态" Then
    Dim sz As String = e.newvalue
    Select Case sz
     Case "设计待分配"
         e.DataRow("生产状态") = "待图纸下发"
     Case "设计中"
         e.DataRow("生产状态") = "待图纸下发"
     Case "设计已"
         e.DataRow("生产状态") = "生产未受理"
    End Select
End If

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


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

调换下位置,先给设计状态赋值

If e.DataCol.Name = "项目类型" Then
    Dim lx As String = e.newvalue
    Select Case lx
     Case "方案"
         e.DataRow("设计状态") = "设计待分配"
         e.DataRow("生产状态") = "不需要生产"
     Case "生产案"
         e.DataRow("设计状态") = "不需要设计"
         e.DataRow("生产状态") = "生产未受理"
     Case "设计案"
         e.DataRow("设计状态") = "设计待分配"
         e.DataRow("生产状态") = "待图纸下发"
    End Select
End If

 回到顶部