以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]导出目录树数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109258) |
||||
-- 作者:江南小镇 -- 发布时间:2017/11/7 23:08:00 -- [求助]导出目录树数据 老师,我要把目录树集合的数据(根目录\\子目录\\窗口名\\按钮名称|按钮标题)复制到窗口控件管理表中对号入座。窗口控件管理表列名称“根目录\\子目录\\窗口名\\按钮名称|按钮标题” |
||||
-- 作者:有点蓝 -- 发布时间:2017/11/7 23:15:00 -- 参考: Dim trv As WinForm.TreeView = Forms("窗口1").controls("TreeView1") Dim dr As DataRow Dim str() As String = {"根目录","子目录","窗口名","按钮名称","按钮标题"} For Each n As WinForm.TreeNode In trv.AllNodes If n.Nodes.Count = 0 Then Dim arr() As String = n.FullPath.Split("\\") dr = DataTables("窗口控件管理表").AddNew For i As Integer = 0 To arr.Length - 1 dr(str(i)) = arr(i) Next End If Next |
||||
-- 作者:江南小镇 -- 发布时间:2017/11/8 8:28:00 -- 老师好,有的是根目录中直接是窗口控件我希望跳过窗口把窗口名称复制到窗口1中,同时把按钮名称和按钮标题拆分开复制到对应的列中。
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/8 8:34:00 -- 2楼代码看懂了没有?哪里不会做?
上传具体实例说明你的问题。 |
||||
-- 作者:江南小镇 -- 发布时间:2017/11/8 12:12:00 -- 我要把目录树集合的数据(根目录\\子目录\\窗口名\\按钮名称|按钮标题)复制到窗口控件管理表中对号入座。窗口控件管理表列名称“根目录\\子目录\\窗口名\\按钮名称|按钮标题”
[此贴子已经被作者于2017/11/8 12:23:41编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/8 12:24:00 -- 具体的例子发上来测试。 |
||||
-- 作者:江南小镇 -- 发布时间:2017/11/8 18:14:00 -- 老师,我要把窗口1目录树集合的控件数据通过按钮复制到"窗口控件管理表"中,(对号入座).
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/8 18:40:00 -- Dim trv As WinForm.TreeView = Forms("窗口1").controls("TreeView3") Dim dr As DataRow For Each n As WinForm.TreeNode In trv.AllNodes If n.Nodes.Count = 0 Then Dim arr() As String = n.FullPath.Split("\\") If arr.length = 4 Then dr = DataTables("窗口控件管理").AddNew \'dr("根目录") = arr(0) \'dr("子目录") = arr(1) dr("窗口名") = arr(2) Dim btn() = arr(3).split("|") If btn.length = 2 dr("按扭名") = btn(0).trim dr("标题") = btn(1).trim Else dr("按扭名") = arr(3) End If ElseIf arr.length = 3 dr = DataTables("窗口控件管理").AddNew \'dr("根目录") = arr(0) \'dr("子目录") = Nothing dr("窗口名") = arr(1) Dim btn() = arr(2).split("|") If btn.length = 2 dr("按扭名") = btn(0).trim dr("标题") = btn(1).trim Else dr("按扭名") = arr(2) End If End If End If Next |
||||
-- 作者:江南小镇 -- 发布时间:2017/11/8 19:36:00 -- 老师太感谢了! |
||||
-- 作者:江南小镇 -- 发布时间:2017/11/8 19:46:00 -- 老师,在集合控件时能不报错吗? Dim tv As WinForm.TreeView = Args(0) tv.Nodes.Clear Dim nd As WinForm.TreeNode Dim name As String Dim sname() As String For Each f As WinForm.Form In Forms name = f.Category sname = name.Split("\\") Dim frmnd As WinForm.TreeNode If sname.Length = 1 AndAlso sname(0) = "" Then frmnd = tv.Nodes.Add(f.name) Else If tv.Nodes.Contains(sname(0)) = False Then nd = tv.Nodes.Add(sname(0)) Else nd = tv.Nodes(sname(0)) End If For i As Integer = 1 To sname.Length - 1 If nd.Nodes.Contains(sname(i)) = False Then nd = nd.Nodes.Add(sname(i)) Else nd = nd.Nodes(sname(i)) End If Next frmnd = nd.Nodes.Add(f.name) End If Dim opened = f.Opened f.Open For Each c As object In f.controls try frmnd.Nodes.Add(c.name, c.name & " | " & c.Text) catch ex As exception frmnd.Nodes.Add(c.name) End try Next If opened = False Then f.Close Next
|