以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请帮忙在这样的目录树里面加上双击节点,将数据录入另一个表的列中  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12656)

--  作者:kevin
--  发布时间:2011/9/10 18:12:00
--  请帮忙在这样的目录树里面加上双击节点,将数据录入另一个表的列中

需要实现:双击节点,将该数据录入到表A的第一列。

 

Dim tr As WinForm.TreeView = Forms("参数设置").Controls("TreeView1")
Dim nd0,nd1,nd2,nd3,nd4,nd5 As WinForm.TreeNode
Dim fs As Integer
tr.Nodes.Clear   \'清空原来的节点::::::::::
For Each dr As DataRow In DataTables("基础设置").Select("","id")
    If dr("id") <> "" Then
        fs = dr("节点")
        Select Case fs
 Case 0
                nd0 = tr.Nodes.Add(dr("id").trim()  ,dr("名称"))
            Case 1
                nd1 = nd0.Nodes.Add(dr("id").trim() ,dr("名称"))
            Case 2
                nd2 = nd1.Nodes.Add(dr("id").trim() ,dr("名称"))
            Case 3
                nd3 = nd2.Nodes.Add(dr("id").trim() ,dr("名称"))
            Case 4
                nd4 = nd3.Nodes.Add(dr("id").trim() ,dr("名称"))
            Case 5
                nd5 = nd4.Nodes.Add(dr("id").trim() ,dr("名称"))
          
        End Select
    End If
Next

 

如果能够这样会更好:假设根节点下有五层子节点(子节点分别为:1、2、3、4、5),假设双击节点“1”,将名称录入表A第一列中,双击节点“2”,则将名称录入到第二列,同时也将上级节点1的名称录入到第一列中,


--  作者:e-png
--  发布时间:2011/9/10 19:18:00
--  
给个实例,不会要大家帮你做吧,懒虫哈···
--  作者:kevin
--  发布时间:2011/9/10 20:40:00
--  

例子里,产品表通过目录树录入“名称”的数据,ID能够将这个产品的每层上级ID以\' \\ \'符号隔开;例如:001\\001001\\001001001

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ddd.table

 ,
--  作者:e-png
--  发布时间:2011/9/10 22:17:00
--  

NodeMouseDoubleClick :

Dim tr As WinForm.TreeView = Forms("窗口1").Controls("TreeView1")
Dim nd As WinForm.TreeNode = tr.SelectedNode
Dim fts()As String
Dim n As Integer
Dim s As String
fts = nd.FullPath.Split("\\")
Dim dr As DataRow
dr = DataTables("产品").AddNew()
dr("名称") = fts(fts.length-1)
For Each ft As String In fts
    s = s & left(nd.name,3*(n+1)) & "\\"

n = n + 1
Next
dr("ID") =s.trim("\\")


--  作者:kevin
--  发布时间:2011/9/11 0:29:00
--  

非常感谢,问题已经解决


--  作者:kevin
--  发布时间:2011/9/11 11:21:00
--  

你好,你帮我解决了问题,非常感谢!

 

再次请教你,目前的OID能通过代码达到:001/001001…效果,假设001代表的名称是“北京”001001代表的是“朝阳区”;当我以后需要对这个ID进行识别的话,能否做到:在第一列输入001/001001就能在第二列显示出北京/朝阳区?如何做到?