以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自定义目录树菜单设计中碰到的拦路虎  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19768)

--  作者:西瓜住持
--  发布时间:2012/5/21 9:42:00
--  [求助]自定义目录树菜单设计中碰到的拦路虎

现有 表结构如下

 

文件

 

序号() ----> 字符型(16)

文件名称() ----> 字符型(60)

类名() ----> 字符型(16)

一类编号() ----> 字符型(16)

一类名称() ----> 字符型(60)

二类名称() ----> 字符型(60)

二类编号() ----> 字符型(16)

三类名称() ----> 字符型(60)

三类编号() ----> 字符型(16)

 

类目

 

类名() ----> 字符型(16)

 

一类

 

一类编号() ----> 字符型(16)

一类名称() ----> 字符型(16)

类名() ----> 字符型(60)

 

二类

 

一类编号() ----> 字符型(16)

一类名称() ----> 字符型(60)

二类编号() ----> 字符型(16)

二类名称() ----> 字符型(60)

类名() ----> 字符型(16)

 

三类

 

一类编号() ----> 字符型(16)

一类名称() ----> 字符型(60)

二类编号() ----> 字符型(16)

二类名称() ----> 字符型(60)

三类编号() ----> 字符型(16)

三类名称() ----> 字符型(60)

类名() ----> 字符型(16)

 

我想知道狐表是否可实现这样的功能,按照 类目表 一类表 二类表 三类表 的层级关系,1.生成一个目录树,2.在双击树形节点的时候筛选出文件表中对应的数据

具体怎么实现?主要是那个生成目录树的代码,麻烦各位高手帮忙了。 


--  作者:西瓜住持
--  发布时间:2012/5/21 9:44:00
--  
备注下,因为实际需求的需要,只能通过这种分表的方式建立多级目录,所以不要推荐我重新设计分类模式
--  作者:mr725
--  发布时间:2012/5/21 9:50:00
--  
没看懂·······  抓个图看看, 或直接做个例子上来。
--  作者:西瓜住持
--  发布时间:2012/5/21 10:06:00
--  

就上面的四个分类表,从里面调用数据

建立一个treeview

要求实现效果:

类名

     一类名称

     一类名称

           二类名称

                 三类名称

     一类名称

           二类名称

           二类名称

类名

 

这样的形式


--  作者:西瓜住持
--  发布时间:2012/5/21 10:12:00
--  

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

--  作者:blackzhu
--  发布时间:2012/5/21 10:21:00
--  
半吨奶粉,有人自然有人帮你.
--  作者:西瓜住持
--  发布时间:2012/5/21 10:32:00
--  
额的神啊,带阪崎肠杆菌你敢要,我可不敢送。。。
--  作者:程兴刚
--  发布时间:2012/5/21 10:45:00
--  

西瓜,您那是根据多列生成目录树,建议您看看根据单列内容生成目录树,这样的话部门级次无限制,级次长短业务限制管理起来更加灵活。


--  作者:mr725
--  发布时间:2012/5/21 10:48:00
--  
你怎么不上例子呢,光说是不行的,因为表是多样的,每个人设计表都要差异,加上根据你的目录树样式,大家也要测试嘛。
--  作者:西瓜住持
--  发布时间:2012/5/21 10:50:00
--  

程版啊,我知道根据单列更简单些,也没有限制。但是实际需求只能这么设计啊。

 

不知道你看明白我上面的描述没有,我自己试着写了下,大概就是这样,刚写到一级,代码可能有点不堪入目,但可以执行,希望大家帮我改改

 

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("类目")
tr.StopRedraw()
tr.Nodes.Clear
For Each dr As DataRow In dt.datarows
        nd = tr.Nodes.Add(dr("类名"),dr("类名"))
        Dim dt1 As DataTable = DataTables("档案一类")
        Dim drs1 As List(of DataRow)
        drs1 = dt1.Select("[类名] = \'" & nd.name & "\'")
        For Each dr1 As DataRow In drs1
        Dim cd1 As Winform.TreeNode = nd.Nodes.Add(dr1("一类名称"),dr1("一类名称"))
        Next

Next
tr.ResumeRedraw()