以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 用目录操控表的增、改、删 哪里出问题了。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179499) |
-- 作者:dxjwlf -- 发布时间:2022/8/26 16:06:00 -- [求助] 用目录操控表的增、改、删 哪里出问题了。 第一步: 菜单右键命令: 这一块运行正常。 Case "增加" Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") Dim nd As WinForm.TreeNode = tr.SelectedNode Dim id As Integer = nd.index CurrentTable.AddNew If nd.ParentNode Is Nothing Then nd = tr.Nodes.add("新节点") tr.SelectedNode = nd CurrentTable.Current ("笔记分类") = nd.name Else nd = nd.ParentNode.Nodes.add("新节点") tr.SelectedNode = nd tr.Select tr.BeginEdit Select Case nd.Level Case 1 CurrentTable.Current ("笔记分类") = nd.ParentNode.name CurrentTable.Current ("笔记子项") = nd.name Case 2 CurrentTable.Current ("笔记分类") = nd.ParentNode.ParentNode.name CurrentTable.Current ("笔记子项") = nd.ParentNode.name CurrentTable.Current ("子项实例") = nd.name End Select End If tr.BuildTree("学习笔记", "笔记分类|笔记子项|子项实例") tr.Nodes.Insert("显示所有行", 0) For Each nd1 As WinForm.TreeNode In tr.AllNodes If nd1.name = "新节点" Then tr.SelectedNode = nd1 nd1.Expand tr.Select tr.BeginEdit End If Next 第二步:目录树,aftereditnode事件 总是目录节点改名后,表字段不能同步更改。 e.Node.Name = e.Node.Text If CurrentTable.Current.Locked = True Then MessageBox.Show ("已锁定,禁止编辑!") Return End If Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") Dim dr As DataRow = e.Node.DataRow If e.Node.ParentNode Is Nothing Then tr.SelectedNode = e.Node dr("笔记分类") = e.Node.Text Else If e.Node.Level = 1 Then tr.SelectedNode = e.Node dr("笔记分类") = e.Node.ParentNode.Text dr("笔记子项") = e.Node.Text ElseIf e.Node.Level = 2 Then dr("笔记分类") = e.Node.ParentNode.ParentNode.Text dr("笔记子项") = e.Node.ParentNode.Text dr("子项实例") = e.NewText End If End If |
-- 作者:有点蓝 -- 发布时间:2022/8/26 16:25:00 -- 调试 e.Node.Name = e.Node.Text If CurrentTable.Current.Locked = True Then MessageBox.Show ("已锁定,禁止编辑!") Return End If Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") Dim dr As DataRow = e.Node.DataRow msgbox(e.Node.ParentNode Is Nothing) If e.Node.ParentNode Is Nothing Then tr.SelectedNode = e.Node msgbox("1笔记分类=" & dr("笔记分类")) dr("笔记分类") = e.Node.Text msgbox("2笔记分类=" & dr("笔记分类")) Else msgbox("e.Node.Level=" & e.Node.Level) If e.Node.Level = 1 Then tr.SelectedNode = e.Node msgbox("3笔记分类=" & dr("笔记分类")) dr("笔记分类") = e.Node.ParentNode.Text msgbox("4笔记分类=" & dr("笔记分类")) dr("笔记子项") = e.Node.Text msgbox("5笔记子项=" & dr("笔记子项")) ElseIf e.Node.Level = 2 Then msgbox("e.Node.ParentNode.ParentNode.Text=" & e.Node.ParentNode.ParentNode.Text) dr("笔记分类") = e.Node.ParentNode.ParentNode.Text msgbox("7笔记分类=" & dr("笔记分类")) msgbox("e.Node.ParentNode.Text=" & e.Node.ParentNode.Text) dr("笔记子项") = e.Node.ParentNode.Text msgbox("8笔记分类=" & dr("笔记子项")) msgbox("e.NewText=" & e.NewText) dr("子项实例") = e.NewText msgbox("9笔记分类=" & dr("子项实例")) End If End If |
-- 作者:dxjwlf -- 发布时间:2022/8/26 17:06:00 -- 谢谢,找到问题了 dr("笔记子项") = e.Node.Text 应改为: dr("笔记子项") = e.NewText
|