以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 提示调用目标异常,lenth长度错误,用substring取左4位字符时(完美解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34167) |
-- 作者:zerov -- 发布时间:2013/6/1 7:58:00 -- 提示调用目标异常,lenth长度错误,用substring取左4位字符时(完美解决) 下面这段代码用于取合同编号的左4位字符,添加合同编号时能正确取出,但重置或删除合同编号时出错: If e.DataCol.Name = "合同编号" Then \'发生变化的是项目名称吗? Dim s As String = e.DataRow("合同编号") If s IsNot Nothing Then e.DataRow("年份")=s.SubString(0,4) Else e.DataRow("年份")=Nothing End If End If 错误提示: 不知何原因
[此贴子已经被作者于2013-6-1 14:07:41编辑过]
|
-- 作者:lsy -- 发布时间:2013/6/1 8:24:00 -- 一删除,就没字符串长度了,重置的话,空值行也会引发事件,从哪取4位? [此贴子已经被作者于2013-6-1 8:25:34编辑过]
|
-- 作者:zerov -- 发布时间:2013/6/1 9:31:00 -- 回复:(lsy)一删除,就没字符串长度了,重置的话,空... 所以,考虑到这种情况,加了一句: Else e.datarow("年份")=Nothing
|
-- 作者:jspta -- 发布时间:2013/6/1 9:42:00 -- If s IsNot Nothing Then
这句话有问题,改为if s > "" then |
-- 作者:程兴刚 -- 发布时间:2013/6/1 10:13:00 -- If s IsNot Nothing Then改为: If s > "" and len(s) > 3 Then |
-- 作者:zerov -- 发布时间:2013/6/1 14:07:00 -- 谢谢程版和JSPTA!解决。 |