以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  问一个目录树的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=22259)

--  作者:小猪鑫鑫
--  发布时间:2012/8/7 14:31:00
--  问一个目录树的问题

狐爸:您好!经常遇到如下的这种编码方式,但不知道怎么能自动生成目录树,请赐教

 


图片点击可在新窗口打开查看此主题相关图片如下:clip_image003.jpg
图片点击可在新窗口打开查看


怎么生成下面这种目录树形式

 


图片点击可在新窗口打开查看此主题相关图片如下:clip_image002.jpg
图片点击可在新窗口打开查看


 

测试文件如下,密码888

 

 

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

谢谢您!


--  作者:程兴刚
--  发布时间:2012/8/7 15:46:00
--  
很简单的问题,稍微动动脑子就可以,留给您做作业!
--  作者:程兴刚
--  发布时间:2012/8/7 15:49:00
--  

如果不信,请看这个是不是您的示例文件的截图:

 


图片点击可在新窗口打开查看此主题相关图片如下:a.jpg
图片点击可在新窗口打开查看


--  作者:程兴刚
--  发布时间:2012/8/7 16:00:00
--  

这样和您的一模一样:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:b.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/8/7 16:09:00
--  
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.CreateTree("物料编码表","级码",".")
For i As Integer  = trv.AllNodes.count - 1  To 0 Step -1
    Dim nd As WinForm.TreeNode = trv.Allnodes(i)
   Dim dr As DataRow = DataTables("物料编码表").Find("级码 = \'" & nd.FullPath.Replace("\\",".") & "\'")
    If dr IsNot Nothing
        nd.text = dr("描述")
    End If
Next

--  作者:程兴刚
--  发布时间:2012/8/7 16:21:00
--  
(^-^),我就不出手了,省得班门弄斧!
--  作者:小猪鑫鑫
--  发布时间:2012/8/7 16:48:00
--  

呵呵,谢谢狐爸!

好久不见程版了,抬举我了,这个对我来说,很难!

另还想请教一下我怎么才能筛选出数据呢,我用下面这个代码没反应

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
    Tables("物料编码表").Filter = "级码 Like \'" & e.Node.Name & "*\'"

 

还是烦请狐爸赐教,谢谢!



--  作者:chnfo
--  发布时间:2012/8/7 16:59:00
--  
分两步:
(1)表中增加一列CS,在datacolchanged里增加
e.DataRow("CS") = e.DataRow("级码").replace(".","\\")   ‘把级码中的分隔符换成狐表可识别的分隔符’
(2)在最后树展示的时候button的click事件里,用  iif(dr("备注") = Nothing ,dr("描述"), dr("备注"))来显示树的节点名称即可


看这样是否满足你的要求


--  作者:chnfo
--  发布时间:2012/8/7 17:00:00
--  
此为附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树形成.rar


--  作者:狐狸爸爸
--  发布时间:2012/8/7 17:18:00
--  
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Tables("物料编码表").Filter = "级码 Like \'" & e.Node.FullPath.Replace("\\",".") & "*\'"