以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 根据编码生成目录树 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146773) |
-- 作者:15666282205 -- 发布时间:2020/3/2 10:59:00 -- 根据编码生成目录树 老师,商品编码是这样:1202003020101,其中1代表工段,后面是日期,0101代表班组等。怎样设计一个目录树,一级是工段,二级是日期,往下依次论推。 |
-- 作者:有点蓝 -- 发布时间:2020/3/2 11:33:00 -- 比如: Dim s As String = "1202003020101" Dim tv As WinForm.TreeView tv =e.Form.Controls("TreeView1") Dim s1 As String = s.SubString(0,1) Dim s2 As String = s.SubString(1,8) Dim s3 As String = s.SubString(9) Dim n As WinForm.TreeNode If tv.Nodes.Contains(s1) Then n = tv.Nodes(s1) Else n = tv.Nodes.Add(s1,s1) End If If n.Nodes.Contains(s2) Then n = n.Nodes(s2) Else n = n.Nodes.Add(s2,s2) End If If n.Nodes.Contains(s3) = False Then n = n.Nodes.Add(s3,s3) End If |
-- 作者:15666282205 -- 发布时间:2020/3/3 13:07:00 -- 目录树编码不是固定的 老师,您的代码首先赋值一个固定编码,实际上编码是很多的,运行时只出现了这一个编码。编码在“商品编码”列,应该让代码自己取值,生成目录树。 |
-- 作者:有点蓝 -- 发布时间:2020/3/3 13:42:00 -- 只是做个例子,自己改为遍历所有行取编码值不就行了 |
-- 作者:15666282205 -- 发布时间:2020/3/4 8:20:00 -- 老师,遍历和动态编码我还不熟练,只是复制粘贴,用的少。还请您完善一下,谢谢哦 |
-- 作者:有点蓝 -- 发布时间:2020/3/4 8:31:00 -- 参考:http://www.foxtable.com/webhelp/topics/0419.htm For Each dr As DataRow In DataTables("订单").DataRows
Dim s As String = dr("编码") Dim tv As WinForm.TreeView tv =e.Form.Controls("TreeView1") Dim s1 As String = s.SubString(0,1) Dim s2 As String = s.SubString(1,8) Dim s3 As String = s.SubString(9) Dim n As WinForm.TreeNode If tv.Nodes.Contains(s1) Then n = tv.Nodes(s1) Else n = tv.Nodes.Add(s1,s1) End If If n.Nodes.Contains(s2) Then n = n.Nodes(s2) Else n = n.Nodes.Add(s2,s2) End If If n.Nodes.Contains(s3) = False Then n = n.Nodes.Add(s3,s3) End If Next |