Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共29 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:[求助]如何按列内容生成目录树?

1楼
ylm 发表于:2010/3/23 20:38:00
[求助]表中类别只有一列(如图1),如何按类别列内容生成图2的目录树?
图片点击可在新窗口打开查看此主题相关图片如下:b.gif
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:a.gif
图片点击可在新窗口打开查看
2楼
程兴刚 发表于:2010/3/23 22:01:00
如果您把这样一列的数据分成多级类别(多列),会非常简单,否则,很麻烦!
[此贴子已经被作者于2010-3-23 22:01:26编辑过]
3楼
mr725 发表于:2010/3/23 23:02:00
遍历行,再遍历单元格.split("\") 后,  用 .Nodes.Add 应该可以完成......    猜测的~  
4楼
ylm 发表于:2010/3/23 23:15:00
以下是引用程兴刚在2010-3-23 22:01:00的发言:
如果您把这样一列的数据分成多级类别(多列),会非常简单,否则,很麻烦!
[此贴子已经被作者于2010-3-23 22:01:26编辑过]

恩,确实是这样。实在不行的话,也只好这样子。

5楼
ylm 发表于:2010/3/23 23:17:00
以下是引用mr725在2010-3-23 23:02:00的发言:
遍历行,再遍历单元格.split("\") 后,  用 .Nodes.Add 应该可以完成......    猜测的~  

不会弄。

6楼
狐狸爸爸 发表于:2010/3/24 0:22:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目102.rar



Dim nd As WinForm.TreeNode
For Each dr As DataRow In DataTables("表A").Select("","类别")
    Dim Path As String = dr("类别")
    Dim Parts() As String = Path.Split("\")
    Dim Start As Integer
    If nd IsNot Nothing Then
        Do
            If Path.StartsWith(nd.FullPath) Then
                Start = nd.Level + 1
                nd = nd.Nodes.Add(Parts(Start),Parts(start))
                Start = nd.Level + 1
                Exit do
            Else
                nd = nd.ParentNode
                If nd Is Nothing Then
                    Exit do
                End If
            End If
        Loop
    End If
    If nd Is Nothing Then
        nd = e.Form.Controls("TreeView1").Nodes.Add(Parts(0),Parts(0))
        start = 1
    End If
    For i As Integer = Start To Parts.Length - 1
        nd = nd.Nodes.Add(Parts(i),Parts(i))
    Next
Next
[此贴子已经被作者于2010-3-24 1:00:34编辑过]
7楼
czy 发表于:2010/3/24 0:24:00
先顶再说。
8楼
mr725 发表于:2010/3/24 0:39:00
这样不知满足您:
Dim tr As WinForm.TreeView = Forms("mls").Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim fs as String
tr.Nodes.Clear 
For Each dr as DataRow in datatables("表名").Select("","类别")
    If dr("类别") <> "" Then
        nd = Tr.Nodes.Add("Root1",dr("类别").split("\")(0))
        fs = dr("类别").split("-:special:1:-).length
        for n as integer = 1 to fs-1
            nd.Nodes.Add("Sub" & n,dr("类别").split("-:special:1:-)(n))
        next
    End If
Next
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:如何按列内容生成目录树.rar


不如狐爸的强!~
[此贴子已经被作者于2010-3-24 0:59:11编辑过]
9楼
狐狸爸爸 发表于:2010/3/24 1:01:00
 第一次传的有问题,已经重新传了
10楼
狐狸爸爸 发表于:2010/3/24 9:57:00
大家可能没有意识到,这个例子很有用,我顶一下。
共29 条记录, 每页显示 10 条, 页签: [1] [2][3]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 4 queries.