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


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

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 10:57:00 [显示全部帖子]

例子

 

下载信息  [文件大小:296.0 KB  下载次数:11]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 11:42:00 [显示全部帖子]

 最后不是有一个保存按钮么?你要怎么操作都可以,最后保存的时候,就是重新按照顺序生成的啊

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 11:46:00 [显示全部帖子]

  看4楼,最后 一次性保存。
[此贴子已经被作者于2014-10-5 11:46:06编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 14:41:00 [显示全部帖子]

 代码如下

 

Dim dt As DataTable = DataTables("表A")
dt.DataRows.Clear
Dim dic As New Dictionary(of Integer, Integer)

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
    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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/5 15:05: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
        Else
            dic(nd.Level) = dic(nd.Level) + 1
        End If
        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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部