Foxtable(狐表)用户栏目专家坐堂 → [求助]树表操作


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

主题:[求助]树表操作

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 9:54: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


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


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

 移动以后,点保存重新生成。
[此贴子已经被作者于2014-10-26 11:31:32编辑过]

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


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

 

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
If tv.SelectedNode IsNot Nothing Then
   
    Dim dr As Row=Tables("主窗口_总表").AddNew()    '
    Dim bh As String = tv.SelectedNode.Name
   
    Dim max As String
    Dim idx As Integer
    max = Tables("主窗口_总表").Compute("Max(编号)","编号 like '" & bh & "%' and len(编号) = " & len(bh) + 3)

    If max <> "" Then '如果存在最大编号
        idx = CInt(max.Substring(bh.length,3)) + 1
    Else
        idx = 1 '否则顺序号等于1
    End If
   
    dr("编号") = bh & Format(idx,"000")
    dr("名称")= tv.SelectedNode.text
    Dim nd As WinForm.TreeNode = tv.SelectedNode.Nodes.Add(dr("编号"),"新节点")
End If
DataTables("总表").Save


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


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

你说的没有筛选出来是什么意思?什么筛选。

 回到顶部