Foxtable(狐表)用户栏目专家坐堂 → 这个代码有啥问题?


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

主题:这个代码有啥问题?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
这个代码有啥问题?  发帖心情 Post By:2014/12/25 15:27:00 [只看该作者]

For Each nd As WinForm.TreeNode In trw.AllNodes
    If nd.Name <> "全部BOM明细" Then
        Dim r As Row = Tables(e.Form.Name & "_Table1").AddNew
        For i1 As Integer = 0 To lv
            r("第" & i1 & "级") = nd.nodes(i1).Text.Split("|")(0)
        Next
    End If
Next


.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.10.23.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
指定的参数已超出有效值的范围。
参数名: index

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


加好友 发短信
等级:四尾狐 帖子:998 积分:6656 威望:0 精华:0 注册:2014/10/20 11:06:00
  发帖心情 Post By:2014/12/25 15:29:00 [只看该作者]

数组越界吧,lv是什么

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


加好友 发短信
等级:三尾狐 帖子:705 积分:5411 威望:0 精华:0 注册:2014/3/15 23:14:00
  发帖心情 Post By:2014/12/25 15:29:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/12/25 15:30:00 [只看该作者]

 nd.nodes(i1).

i1 超大了

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/12/25 15:30:00 [只看该作者]

Dim dtb As New DataTableBuilder("统计")
Dim trw As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim lv As Integer = 0
For Each nd As WinForm.TreeNode In trw.AllNodes
    If nd.Level > lv
        lv=nd.Level
    End If
Next
For i As Integer = 0 To lv
    dtb.AddDef("第" & i & "级", Gettype(String), 32)
Next
dtb.AddDef("物品名称", Gettype(String), 32)
dtb.AddDef("规格", Gettype(String), 32)
Tables(e.Form.name & "_Table1").DataSource = dtb.BuildDataSource

For Each nd As WinForm.TreeNode In trw.AllNodes
    If nd.Name <> "全部BOM明细" Then
        Dim r As Row = Tables(e.Form.Name & "_Table1").AddNew
        For i1 As Integer = 0 To lv
            r("第" & i1 & "级") = nd.nodes(i1).Text.Split("|")(0)
        Next
    End If
Next


 整个代码

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


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

If nd.Nodes.Count < i1 Then

    r("第" & i1 & "级") = nd.nodes(i1).Text.Split("|")(0)

End If


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


加好友 发短信
等级:四尾狐 帖子:998 积分:6656 威望:0 精华:0 注册:2014/10/20 11:06:00
  发帖心情 Post By:2014/12/25 15:34:00 [只看该作者]

循环那里lv都有减1吧?因为是从0开始的

 回到顶部