Foxtable(狐表)用户栏目专家坐堂 → [分享]不用递归函数也能生成目录树,且更简单高效


  共有2234人关注过本帖平板打印复制链接

主题:[分享]不用递归函数也能生成目录树,且更简单高效

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[分享]不用递归函数也能生成目录树,且更简单高效  发帖心情 Post By:2019/12/12 10:02:00 [只看该作者]

不用递归函数也能生成目录树,且更简单高效。
下面以【行政区划】表为例(只有【区划代码】、【区划名称】、【区划年份】3列),生成省直辖市自治区和地州市盟二级目录树,全部代码如下:
        Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
        Dim nd As WinForm.TreeNode
        Dim dt As DataTable = DataTables("行政区划")
        Dim dr1,dr2 As DataRow
        Dim dm As String
        trv.StopRedraw()
        trv.Nodes.Clear
        For Each dr1 In dt.Select("区划代码 like '%0000' and 区划年份 = " & DMNF,"区划名称") '全局变量DMNF为采用的区划年份,可以事先获取
            dm = left(dr1("区划代码"),2) & "%"
            nd = trv.Nodes.Add(dr1("区划名称"))
            For Each dr2 In dt.Select("区划代码 like '" & dm & "' and 区划代码 like '%00' And 区划代码 not Like '%0000' And 区划年份 = " & DMNF,"区划名称")
                nd.Nodes.Add(dr2("区划名称"))
            Next
        Next
        trv.ResumeRedraw()

 回到顶部