1、原代码:
Dim dtn As String = e.DataTable.Name
Select Case dtn
Case "McsEntDtl","McsOutWSDtl"
Dim cl As DataCol = e.DataCol
If cl.IsNumeric
Dim cn As String = cl.Name
Dim qsz,hsz As Double
hsz = e.NewValue
qsz = e.OldValue
Functions.Execute("AutoSum",dtn,cn,qsz,hsz)
End If
End Select
测试,在字段QTY上输入数值,错误提示按确定直接退出系统。各个数值型字段,除了QTY是整数,其余都是双精度的。
2、改了代码:
Dim dtn As String = e.DataTable.Name
Select Case dtn
Case "McsEntDtl","McsOutWSDtl"
Dim cl As DataCol = e.DataCol
Dim cn As String = cl.Name
Select Case cn
Case "QTY","NMWgt","GSWgt","AllWgt","GSMC","AllC","MyBillPay","GdBillPay"
Dim qsz,hsz As Double
hsz = e.NewValue
qsz = e.OldValue
Functions.Execute("AutoSum",dtn,cn,qsz,hsz)
End Select
' Case
End Select
数据测试没有任何问题
3、结论:整数型自动与这个IsNumeric“配合”得不是那么完好?!