一个中有三列:项目区域、拼音简写、编号,想实现自动编号,规则为拼音简写+3位数字,项目区域列属性中设置了目录树列表,目录树来源于行政区域表,数据来源列为行政区域表的县(中文),拼音简写是通过项目区域转换而来,当通过手动在项目区域输入相同中文可以实现自动编号的增加,但通过列表树选择相同的地方时就报错:.NET Framework 版本:2.0.50727.4984Foxtable 版本:2017.6.12.1
错误所在事件:表,测试,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“Q00”到类型“Integer”的转换无效。
输入字符串的格式不正确。
DataColChanged代码如下:
If e.DataCol.Name = "项目区域" Then
If e.NewValue > ""
e.DataRow("拼音简写") = GetPY(e.NewValue, 1).ToUpper
Else
e.DataRow("拼音简写") = Nothing
End If
End If
Select e.DataCol.Name
Case "拼音简写"
If e.DataRow.IsNull("拼音简写") Then
e.DataRow("编号") = Nothing
Else
Dim lb As String = e.DataRow("拼音简写")
If e.DataRow("编号").StartsWith(lb) = False '如果单据编号前缀不符
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(编号)","拼音简写 = '" & lb & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该简写的最大编号
If max > "" Then '如果存在最大编号
idx = CInt(max.Substring(2,3)) + 1 '获得最大编号的后三位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("编号") = lb & Format(idx,"000")
End If
End If
End Select
请问是怎么回事???