Foxtable(狐表)用户栏目专家坐堂 → 项目发布后目录树节点排序怎么会发生变化?


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

主题:项目发布后目录树节点排序怎么会发生变化?

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/17 9:07:00 [显示全部帖子]

先排序在添加,函数的用法参考自己做

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
nd = trv.Nodes.Add("全部按钮","全部按钮")
Dim tb As WinForm.NavBar = Forms("导航").Controls("NavBar1")
Dim pg As WinForm.NavPage
Dim lst As new List(of String)
Dim dict As new Dictionary(of String, WinForm.Control)
For Each pg In tb.NavPages
    lst.add(pg.name)
    dict.Add(pg.name,pg)
Next
Dim arr = lst.ToArray
Array.Sort(arr)
For i As Integer = 0 To lst.Count - 1
    Dim n = nd.nodes.add(arr(i))
    If dict(arr(i)).Children.Count > 0 Then Functions.Execute("AddChild",n,dict(arr(i)))
Next

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/17 16:49:00 [显示全部帖子]

贴出你的代码

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/17 17:58:00 [显示全部帖子]

贴出你按4楼的方式改造后不能执行的代码

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/17 21:45:00 [显示全部帖子]

Dim node As WinForm.TreeNode = Args(0)
Dim ctl = Args(1)
Dim lst As new List(of String)
Dim dict As new Dictionary(of String, WinForm.Control)
For Each c As object In ctl.Children
    If Typeof c Is WinForm.SplitContainer Then
        If c.panel1.Children.Count > 0 Then Functions.Execute("AddChild",node,c.panel1)
        If c.panel2.Children.Count > 0 Then Functions.Execute("AddChild",node,c.panel2)
    Else
        lst.add(c.name)
        dict.Add(c.name,c)
    End If
    
Next
Dim arr = lst.ToArray
Array.Sort(arr)
For i As Integer = 0 To lst.Count - 1
    Dim n = node.nodes.add(arr(i))
    Dim c1 = dict(arr(i))
    If Typeof c1 Is WinForm.Panel OrElse Typeof c1 Is WinForm.GroupBox Then
        If c1.Children.Count > 0 Then Functions.Execute("AddChild",n,c1)
    End If
Next
[此贴子已经被作者于2016/10/17 21:45:37编辑过]

 回到顶部