以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]大神帮忙看看datacolchanging及changed代码为啥有时候不灵 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169239) |
-- 作者:ade2015 -- 发布时间:2021/6/8 11:08:00 -- [求助]大神帮忙看看datacolchanging及changed代码为啥有时候不灵 各位大神帮忙看看: 以下这段代码是不是写的太菜,还是没有加入判断语句什么的。 我放在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
|
-- 作者:有点蓝 -- 发布时间: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
|