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


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

主题:目录树

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


加好友 发短信
等级:三尾狐 帖子:658 积分:7890 威望:0 精华:0 注册:2013/12/11 17:49:00
目录树  发帖心情 Post By:2015/8/27 15:56:00 [只看该作者]

请问一下 如何从图片1 表A  生产目录树图2?目录树的节点不定   目录树节点后加上名称  
图片点击可在新窗口打开查看此主题相关图片如下:1.bmp
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:2.bmp
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/8/27 16:33:32编辑过]

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


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

代码

 

科目表目录_Button刷新_Click

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView科目表")
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("科目表")
tr.StopRedraw()
tr.Nodes.Clear
Dim gz As String = "424"
For Each dr As DataRow In dt.Select("","科目代码")
    If dr.IsNull("科目代码") = False AndAlso dr("科目代码").Length = val(gz(0)) Then
        nd = tr.Nodes.Add(dr("科目代码"),dr("科目代码") & " " & dr("科目名称"))
        Functions.Execute("AddChildren",nd,dt,gz,1)
    End If
Next
tr.ResumeRedraw()

自定义函数

AddChildren

Dim nd As WinForm.TreeNode = args(0)
Dim dt As DataTable = args(1)
Dim gz As String = args(2)
Dim idx As Integer = args(3)
If idx < gz.Length Then
    For Each dr As DataRow In dt.Select("","科目代码") '按代码顺序添加
        Dim km As String = dr("科目代码")
       
        If km.StartsWith(nd.name) AndAlso km.Length = nd.Name.Length + val(gz(idx)) Then
            Dim sum As Integer = 0
            For i As Integer = 0 To gz.Length - 1
                sum += val(gz(i))
                If km.Length = sum  Then
                    Dim cd As Winform.TreeNode = nd.Nodes.Add(km,km & " " & dr("科目名称"))
                    Functions.Execute("AddChildren",cd,dt,gz,idx+1)
                    Exit For
                End If
            Next
        End If
    Next
End If

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:编码规则.foxdb


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


加好友 发短信
等级:三尾狐 帖子:658 积分:7890 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2015/8/31 8:57:00 [只看该作者]

谢谢! 请问一下

Dim gz As String = "424"   424是怎么得来的   如果是424前面的A目录是不显示的  

换成2244 

图片点击可在新窗口打开查看此主题相关图片如下:1.bmp
图片点击可在新窗口打开查看
010301 aaa
010302 aaa
010303 aaa  这几个节点也没有显示  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.foxdb


[此贴子已经被作者于2015/8/31 8:57:50编辑过]

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


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

汗,明明是2222,也就是每一级,用几个字符表示的意思啊

 

Dim gz As String = "2222"


 回到顶部