Foxtable(狐表)用户栏目专家坐堂 → 有没有根据目录树自动生成数字形式的级码的代码?


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

主题:有没有根据目录树自动生成数字形式的级码的代码?

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/10/5 15:14:00 [只看该作者]

重复了
图片点击可在新窗口打开查看此主题相关图片如下:截图01.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 15:21:00 [只看该作者]

Dim dt As DataTable = DataTables("表A")
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 dic.ContainsKey(nd.Level) = False Then
        dic.Add(nd.Level, 1)
    Else
        If nd.level < prevLevel Then
            dic(prevLevel) = 0         
        End If
        dic(nd.Level) = dic(nd.Level) + 1
        prevLevel = nd.Level
    End If
    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

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/10/5 15:33:00 [只看该作者]

见图,问题点。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数字级码生成.table
图片点击可在新窗口打开查看此主题相关图片如下:截图02.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 15:38:00 [只看该作者]

Dim dt As DataTable = DataTables("表A")
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
        If nd.level < prevLevel Then
            dic(prevLevel) = 0
        End If
        dic(nd.Level) = dic(nd.Level) + 1
        prevLevel = nd.Level
    End If
    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

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/10/5 15:53:00 [只看该作者]

问题点。见图片。甜老师,我看这是否需要用到递归什么的。层数多了,问题还是会出现。老师项目文件见附件!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数字级码生成.table




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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 16:02:00 [只看该作者]

Dim dt As DataTable = DataTables("表A")
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

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/10/5 16:44:00 [只看该作者]

检查完毕!没有发现错误!老师辛苦了图片点击可在新窗口打开查看,谢谢了。好好消化一下。


 回到顶部
总数 17 上一页 1 2