Foxtable(狐表)用户栏目专家坐堂 → 代码执行报错


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

主题:代码执行报错

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
代码执行报错  发帖心情 Post By:2022/10/27 22:53:00 [只看该作者]

If e.DataCol.name = "类别" AndAlso e.DataRow.isnull("类别") = False Then
    'Dim ar() As String = e.DataRow("字段字符折分").split("*")
    Dim ar() As String = e.DataRow("类别").split("\")
    e.DataRow("主类") = ar(0)
    e.DataRow("次类") = ar(1)
    e.DataRow("分类") = ar(2)
    e.DataRow("尺寸") = ar(3)
    e.DataRow("色类") = ar(4)
    
End If

执行上面代码,报错:要如何解决?

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表,字段字符折分, DataColChanged
详细错误信息:
调用的目标发生了异常。
索引超出了数组界限

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/27 23:00:00 [只看该作者]

没有5个那么多:msgbox(ar.length)

合理的用法是
    e.DataRow("主类") = ar(0)
    if ar.length > 1 then e.DataRow("次类") = ar(1)
    if ar.length > 2 then e.DataRow("分类") = ar(2)
……

 回到顶部