以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何保存数据到远程数据源  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83403)

--  作者:sunsenfeng
--  发布时间:2016/4/8 10:01:00
--  [求助]如何保存数据到远程数据源
表是外部数据表,数据不能保存到远程数据源,请帮助
Sub 增加子类()
    Dim tr As WinForm.TreeView
    Dim nd As WinForm.TreeNode
    tr = Forms("类别_侧边栏").Controls("TreeView1")
    nd = tr.SelectedNode
    If nd IsNot Nothing  Then
        If nd.Level = 3 Then
            MessageBox.Show("最多允许三层类别!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        Else
            Dim dr As DataRow = DataTables("类别编码").AddNew
            If nd.level=0 Then
               dr("类别名称") = "新子类"
            End If
            If nd.Level = 1 Then
                dr("类别名称") = nd.Text+"\\新子类"
            End If    
            If nd.Level = 2
                dr("类别名称") = nd.ParentNode.Text+"\\"+nd.text+"\\新子类"
            End If
            dr("用户")=User.Name
            nd = nd.Nodes.Add("新子类")
            \'nd.tag = dr("_Identify")
            
            tr.SelectedNode = nd
            tr.Select()
            tr.BeginEdit()
            If tr.SelectedNode.text<>"" Then 
                dr.save()
                Tables("类别编码").save()
                DataTables("类别编码").save() \'这样也不行
            End If
        End If
        
    End If
End Sub


--  作者:大红袍
--  发布时间:2016/4/8 10:16:00
--  

1、加入msgbox,看看是否进入执行了红色的代码

 

2、代码没问题,请认真检查其它问题。


--  作者:sunsenfeng
--  发布时间:2016/4/8 10:26:00
--  
谢谢大红袍老师
是在没有填写节点名称前直接执行了代码,应该把红色代码写在AfterNodeEdit事件中