Foxtable(狐表)用户栏目专家坐堂 → 目录树排序


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

主题:目录树排序

帅哥哟,离线,有人找我吗?
花开的声音
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
目录树排序  发帖心情 Post By:2016/6/27 15:31:00 [只看该作者]

目录树排序,序号用abc。。。时,正常排序。但改为1、2、3、4.。。10、11时,10、11。。19等排到了2、3的前面,怎么处理这个问题。

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2016/6/27 15:42:00 [只看该作者]

这个是自动生成的字符1.2.3.4....19,如何在一个个位字符的前面加一个0.

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 15:48:00 [只看该作者]

序号列,必须是数值列,才行。


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2016/6/27 15:55:00 [只看该作者]

那如果是数值列,怎么加。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 16:00:00 [只看该作者]

 具体你的问题,最好有实例。


 回到顶部
帅哥哟,离线,有人找我吗?
花开的声音
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2016/6/27 16:05:00 [只看该作者]

好吧。红袍老师,我是参考用你的那个数字级码生成的示例来做了一个生成主管司法局窗口。要达到如图所示的效果
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160627160517.png
图片点击可在新窗口打开查看

如何修改那个保存到表的代码:

   Dim dt As DataTable = DataTables("主管司法局")
dt.DataRows.Clear
Dim dic As New Dictionary(of Integer, Integer)
Dim prevLevel As Integer = 0
For Each nd As WinForm.TreeNode In e.Form.Controls("TreeView1").AllNodes
    If nd.Level = 0 AndAlso dic.count > 0 Then
        Dim temp = dic(0)
        dic.Clear
        dic.Add(0, temp)
    End If
    
    If dic.ContainsKey(nd.Level) = False Then
        dic.Add(nd.Level, 1)
    Else
        dic(nd.Level) = dic(nd.Level) + 1
    End If
    For i As Integer = nd.level + 1 To prevLevel
        dic(i) = 0
    Next
    
    prevLevel = nd.Level
    Dim ndr As DataRow = dt.AddNew
    Dim str As String = ""
    For i As Integer = 0 To nd.Level
        str &= dic(i) & "\"
    Next
    ndr("编号") = str.TrimEnd("\")
    ndr("主管司法局") = nd.Text
Next
dt.Save
e.Form.Close

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 16:06:00 [只看该作者]

str &= Format(dic(i), "00") & "\"

 回到顶部