Foxtable(狐表)用户栏目专家坐堂 → 请问如何生成目录树?


  共有3369人关注过本帖树形打印复制链接

主题:请问如何生成目录树?

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/9/13 12:39:00 [显示全部帖子]

不明白 6 楼不是你所要的效果吗?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/9/13 12:43:00 [显示全部帖子]

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd  As WinForm.TreeNode
tv.StopRedraw
tv.nodes.Clear
For Each c As Col In Tables("表A").Cols
    tv.Nodes.Add(c.Name)
    For Each r As Row In Tables("表A").Rows
        If r.IsNull(c.Name)= False Then
            tv.Nodes(c.Name).Nodes.Add(r(c.Name))
        End If
    Next
Next
tv.ResumeRedraw

 是不是这样.列名全部写入,有数据的写入到当前节点下

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/9/13 13:08:00 [显示全部帖子]

那我的代码就是这样的  如果你要指定列名 你可以这样改:

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd  As WinForm.TreeNode
tv.StopRedraw
tv.nodes.Clear
For Each c As Col In Tables("表A").Cols
    Select Case c.Name
        Case "第一列","第二列","第三列","第四列","第五列"
            tv.Nodes.Add(c.Name)
            For Each r As Row In Tables("表A").Rows
                If r.IsNull(c.Name)= False Then
                    tv.Nodes(c.Name).Nodes.Add(r(c.Name))
                End If
            Next
    End Select
Next
tv.ResumeRedraw

 回到顶部