Foxtable(狐表)用户栏目专家坐堂 → [求助]关于目录树


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

主题:[求助]关于目录树

美女呀,离线,留言给我吧!
Springamy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
[求助]关于目录树  发帖心情 Post By:2018/4/8 15:59:00 [只看该作者]

为了方便维护资料,先需要把表A中的数据做成目录树的形式筛选数据,

后续添加数据的时候可以在对应的节点添加.

我现在是按照类别码|层数|上级节点|名称 来生成目录树,

达不到我要的效果

我需要的效果如下图:

 


图片点击可在新窗口打开查看此主题相关图片如下:目录树.png
图片点击可在新窗口打开查看

实例:

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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110798 积分:563928 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/8 17:26:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/4/9 19:19:00 [只看该作者]

当上级节点 = 0的时候,我要把类别码那一列根据类别码的不同设置为根节点,然后又根据类别码,上级节点和层数设置子节点

 

老是报错

 

For Each dr As DataRow In  dt.Select("","上级节点")
    Dim jd As Integer = dr("上级节点")
   ' Dim mc As String = dr("名称")
    If jd = 0 Then
        Dim  cd As Winform.TreeNode = nd.Nodes.Add(dr("类别码"),"类别码(" & dr("类别码") & ")")
    End If
Next

 


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

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

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110798 积分:563928 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/9 20:35:00 [只看该作者]

For Each dr As DataRow In  dt.Select("上级节点=0","上级节点")
    Dim  cd As Winform.TreeNode = nd.Nodes.Add(dr("类别码"),"类别码(" & dr("类别码") & ")")
Next
[此贴子已经被作者于2018/4/9 20:36:02编辑过]

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
index错误  发帖心情 Post By:2018/4/10 18:38:00 [只看该作者]

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
tr.Nodes.Clear
Dim nd As WinForm.TreeNode
'nd=tr.Nodes.Add("0","全部")
Dim s1 As String = "select distinct ClassID as 级别 F ROM 表A"
cmd.CommandText = s1
dt = cmd.ExecuteReader     '查出的数据是19个,报超出index错误
Dim  rts() As  String =  {"全部","地址","体系资料","部门","产品分类","仓库地点","损益","供应商","现金流量","产品线","材料成本","固定成本","地址2","银行1","成本核算","成本2","银行2","事业部","物流"}

tr.StopRedraw()
tr.Nodes.Clear
For Each  rt As  String In  rts
    tr.Nodes.Add(rt)
Next

 

For Each   dr As DataRow In dt.Datarows
    Dim  i As  Integer = dr("级别")
    nd =  tr.Nodes(i).Nodes.Add(dr("级别"),"级别(" & dr("级别") & ")")
   
Next


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110798 积分:563928 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/10 20:18:00 [只看该作者]

根节点总共19个,索引最大18,"级别"肯定有大于18的值

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/4/11 9:10:00 [只看该作者]

我需要把根节点的数据重新命名,那还可以怎么做吗?

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110798 积分:563928 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/11 9:39:00 [只看该作者]

请上传具体实例说明

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/4/11 9:47:00 [只看该作者]

1楼有上传过实例

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110798 积分:563928 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/11 10:01:00 [只看该作者]

上传最新有问题代码的项目实例

 回到顶部
总数 19 1 2 下一页