Select Case e.DataCol.Name
Case "工序1完成人", "工序2完成人", "工序3完成人", "工序4完成人", "工序5完成人", "工序6完成人", "工序7完成人", "工序8完成人", "工序9完成人"
e.DataRow.save
Dim st1 As String = e.DataCol.Name
Dim st3 As String
Dim st4 As String
st3 = st1.substring(0, 3) & "完成日期"
st4 = st1.substring(0, 3) & "完成年月"
If e.DataRow.isnull(e.DataCol.Name) Then
e.DataRow(st3) = Nothing
e.DataRow(st4) = Nothing
Else
If e.DataRow.isnull(st1) = False Then
If e.DataRow.isnull(st3) Then
e.DataRow(st3) = Date.today
End If
Else
e.DataRow(st3) = Nothing
e.DataRow(st4) = Nothing
End If
End If
e.DataRow.save
End Select
老师,上面代码老是出现 “name 参数不能为空” 的提示,请问是哪里的问题呢?谢谢。
Select Case e.DataCol.Name
Case "工序1完成人", "工序2完成人", "工序3完成人", "工序4完成人", "工序5完成人", "工序6完成人", "工序7完成人", "工序8完成人", "工序9完成人"
e.DataRow.save
Dim st1 As String = e.DataCol.name
Dim st3 As String
Dim st4 As String
st3 = st1.substring(0, 3) & "完成日期"
st4 = st1.substring(0, 3) & "完成年月"
If e.DataRow.isnull(e.DataCol.name) Then
'msgbox(2) 后面有问题
e.DataRow(st3) = Nothing
e.DataRow(st4) = Nothing
'msgbox(3) 前面有问题
Else
If e.DataRow.isnull(st1) = False Then
If e.DataRow.isnull(st3) Then
e.DataRow(st3) = Date.today
End If
Else
e.DataRow(st3) = Nothing
e.DataRow(st4) = Nothing
End If
End If
e.DataRow.save
End Select
当 newvalue 是空值的时候,在上面红色那部分代码会有提示。
调试
If e.DataRow.isnull(e.DataCol.name) Then
msgbox("st3=" & st3 & ",st4=" & st4) 后面有问题
e.DataRow(st3) = Nothing
e.DataRow(st4) = Nothing
msgbox(3) 前面有问题
Else
调试结果:st3=工序1完成日期, st4=工序1完成年月然后出现如下提示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表,特采单排产,DataColChanged
详细错误信息:
调用的目标发生了异常。
“name”参数不能为空。
参数名: name
msgbox(3) 的 3 不会出现。
【
st3=工序1完成日期, st4=工序1完成年月】这两个列名正确吗?这2个列赋值会不会触发其它代码