以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  插入节点问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68600)

--  作者:blsu33
--  发布时间:2015/5/21 9:22:00
--  插入节点问题

老师,

插入节点代码 第一级有问题,但是没看出哪有问题,求老师给看看。

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode = tr.SelectedNode
If tr.Nodes.Count=0 Then
    MessageBox.Show("请先增加根节点!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Dim nm As String =nd.ParentNode.Name & "点" & Vars("numbh")
    Dim id As Integer = nd.index
    Select nd.Level
        Case 0                                                    这里有问题
            nd = tr.Nodes.Insert("新角色",id)
            tr.SelectedNode = nd
            tr.Select
            tr.BeginEdit
           
        Case Else
            nd = nd.ParentNode.Nodes.Insert(nm,id)
            Vars("numbh")=Vars("numbh")+1
            tr.SelectedNode = nd
            tr.Select
            tr.BeginEdit
    End Select
End If

 

.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,系统启用,Button4,Click
详细错误信息:
未将对象引用设置到对象的实例。

 


--  作者:Bin
--  发布时间:2015/5/21 9:24:00
--  
绿色代码看起来不应该会报空值错误

可能是你前面有错误,没有选中的节点,所以报错.你调试一下看看

--  作者:大红袍
--  发布时间:2015/5/21 9:27:00
--  

 判断一下 Dim nd As WinForm.TreeNode = tr.SelectedNode

 

 

 If nd IsNot Nothing Then

 

 

 End If


--  作者:blsu33
--  发布时间:2015/5/21 9:32:00
--  

老师

如何选定呢

Dim nd As WinForm.TreeNode = tr.SelectedNode
这不是选定了吗


--  作者:大红袍
--  发布时间:2015/5/21 9:33:00
--  
 有可能你没有选定,就点击按钮的情况啊。
--  作者:大红袍
--  发布时间:2015/5/21 9:35:00
--  

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode = tr.SelectedNode
If tr.Nodes.Count=0 Then
    MessageBox.Show("请先增加根节点!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else If nd IsNot Nothing Then
    msgbox("请选择节点")
Else
    Dim id As Integer = nd.index
    Select nd.Level
        Case 0                                                    这里有问题
            nd = tr.Nodes.Insert("新角色",id)
            tr.SelectedNode = nd
            tr.Select
            tr.BeginEdit
           
        Case Else
            Dim nm As String =nd.ParentNode.Name & "点" & Vars("numbh")
            nd = nd.ParentNode.Nodes.Insert(nm,id)
            Vars("numbh")=Vars("numbh")+1
            tr.SelectedNode = nd
            tr.Select
            tr.BeginEdit
    End Select
End If

 


--  作者:blsu33
--  发布时间:2015/5/21 9:42:00
--  
已解决 谢谢