以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树相关  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42763)

--  作者:飞华莎平
--  发布时间:2013/11/21 12:19:00
--  [求助]目录树相关
请问各位大大,如下代码,错误在什么地方
Dim tr As WinForm.TreeView = e.Form.Controls("商品类目")
Dim nd As WinForm.TreeNode = tr.SelectedNode
Dim id As Integer = nd.Index
If nd Is Nothing Then
    MessageBox.Show("请选择插入商品类目的位置","温馨提示")
Else
    If nd.ParentNode Is Nothing Then
        nd = tr.Nodes.Insert("新类目",id+1)
    Else
        nd = nd.ParentNode.Nodes.Insert("新类目",id+1)
    End If
End If
tr.SelectedNode = nd
tr.Select
tr.BeginEdit

--  作者:blackzhu
--  发布时间:2013/11/21 12:24:00
--  
不说错误,谁知道是啥错误呀


--  作者:飞华莎平
--  发布时间:2013/11/21 12:55:00
--  
系统显示“未将对象引有到设置对象的实例”,因为没有选择节点的时候,会提示出错,所以我想用代码去改进一下。
[此贴子已经被作者于2013-11-21 13:08:28编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/11/21 13:07:00
--  

通常这种问题,你可以用这个判断一下,执行到哪里出错:

http://www.foxtable.com/help/topics/1485.htm

 

 

Dim tr As WinForm.TreeView = e.Form.Controls("商品类目")
Dim nd As WinForm.TreeNode = tr.SelectedNode
If nd Is Nothing Then
    MessageBox.Show("请选择插入商品类目的位置","温馨提示")
Else
    Dim id As Integer = nd.Index
    If nd.ParentNode Is Nothing Then
        nd = tr.Nodes.Insert("新类目",id+1)
    Else
        nd = nd.ParentNode.Nodes.Insert("新类目",id+1)
    End If
End If
tr.SelectedNode = nd
tr.Select
tr.BeginEdit

 


--  作者:飞华莎平
--  发布时间:2013/11/21 14:06:00
--  
就是因为没有选择节点才出错的
--  作者:狐狸爸爸
--  发布时间:2013/11/21 14:07:00
--  
Dim tr As WinForm.TreeView = e.Form.Controls("商品类目")
Dim nd As WinForm.TreeNode = tr.SelectedNode
If nd Is Nothing Then
    MessageBox.Show("请选择插入商品类目的位置","温馨提示")
Else
    Dim id As Integer = nd.Index
    If nd.ParentNode Is Nothing Then
        nd = tr.Nodes.Insert("新类目",id+1)
    Else
        nd = nd.ParentNode.Nodes.Insert("新类目",id+1)
    End If
    tr.SelectedNode = nd
    tr.Select
    tr.BeginEdit
End If

--  作者:飞华莎平
--  发布时间:2013/11/21 14:59:00
--  
谢谢,已解决