Foxtable(狐表)用户栏目专家坐堂 → startIndex 不能大于字符串长度


  共有2228人关注过本帖树形打印复制链接

主题:startIndex 不能大于字符串长度

帅哥哟,离线,有人找我吗?
edisontsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
startIndex 不能大于字符串长度  发帖心情 Post By:2018/10/17 15:55:00 [只看该作者]

    Case "生产piao号一"  
        e.DataRow("弯头1") = e.DataRow("生产piao号一").SubString(4,3) 

我的上述代码,执行时总是出现下面的警告。上面的“生产piao号一”是字符串,总共11位数,我要取第5-7位字符串。

.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2017.3.18.1
错误所在事件:表,铝巴送货单, DataColChanged
详细错误信息:
调用的目标发生了异常。
startIndex 不能大于字符串长度。
参数名: startIndex

谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/17 16:15:00 [只看该作者]

Case "生产piao号一"  

    If e.DataRow("生产piao号一").length > 7 Then

        e.DataRow("弯头1") = e.DataRow("生产piao号一").SubString(4,3) 
    Else
        e.DataRow("弯头1") = Nothing
    End If

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/10/17 16:38:00 [只看该作者]

你的代码有效。谢谢。可是为什么要加 If e.DataRow("生产piao号一").length > 7 这个判断呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/17 17:18:00 [只看该作者]

以下是引用edisontsui在2018/10/17 16:38:00的发言:
你的代码有效。谢谢。可是为什么要加 If e.DataRow("生产piao号一").length > 7 这个判断呢?

 

比如你在单元格输入 123,abc或者输入空白值,都会触发datacolchanged事件的,这个时候如果要获取5-7位肯定报错。


 回到顶部