当前位置:首页 > 投稿 > 正文内容

狐表软件是什么(给狐表的递归教程加上死循环判断)

福瑞号2022-12-11 09:16:19投稿178

1思路说明

狐表软件是什么(给狐表的递归教程加上死循环判断)-图1

基于官方的递归文档案例,适当修改代码,可以判断出递归死循环的路线,及时停止(思路来自最新版Bom目录树玩法)

  1. 每条分支,都不应该重复利用主键

  2. 不同分支,可以重复利用主键,毕竟bom会重复利用

所以:在每条分支,都用一个空白的字典,记录主键,保持不重复。如果重复,就遍历出来展示告知用户

2递归开始的代码:

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")Dim nd As WinForm.TreeNodeDim dt As DataTable = DataTables("表A")tr.StopRedraw()tr.Nodes.Cleartr.Nodes.Add("全部")Dim dgDic As New Dictionary(of String,String)'递归记录,防止死循环For Each dr As DataRow In dt.datarows    If dr.IsNull("父键") Then        nd = tr.Nodes.Add(dr("键"),dr("标题"))        Functions.Execute("AddChildren",nd,dt,dgDic)    End If    dgDic.Clear '一条递归用一套记录Nexttr.ResumeRedraw()

3内部函数:

Dim nd As WinForm.TreeNode = args(0)Dim dt As DataTable = args(1)Dim dgDic As Dictionary(of String,String) = args(2)Dim drs As  List(of DataRow)drs = dt.Select("[父键] = '" & nd.name & "'")For Each dr As DataRow In drs    Dim cd As Winform.TreeNode = nd.Nodes.Add(dr("键"),dr("标题"))    If dgDic.ContainsKey(dr("键")) = False Then        dgDic.Add(dr("键"),dr("标题"))        Functions.Execute("AddChildren",cd,dt,dgDic)    Else        Dim s As String ="出现死循环:"        For Each key As String In dgDic.Keys            If key = dr("键") Then                s &= "[" & dgDic(key) & "]→"            Else                s &=dgDic(key) & "→"            End If                    Next        s &=dr("标题") & "→[" & dgDic(dr("键")) & "]"        MessageBox.Show(s)    End IfNext

扫描二维码推送至手机访问。

版权声明:本文由福瑞号发布,如需转载请注明出处。

本文链接:https://www.furui.com.cn/15488.html

“狐表软件是什么(给狐表的递归教程加上死循环判断)” 的相关文章

有趣的生日礼物(最好的礼物要送给最喜欢的人|创意生日礼物)

有趣的生日礼物(最好的礼物要送给最喜欢的人|创意生日礼物)

最好的礼物要送给最喜欢的人,超级适合送给女朋友的生日礼物清单它来了! 这九款礼物,每一款都是被很多达人博主推荐过的, 绝对不会踩雷!!! 不会给女朋友挑选礼物的话,看这一篇就够啦! *电影告白手账 参考价格:64.00-93.00 这款手账本收集了52段恋人们最喜欢的爱情电影中的感人告白, 用...

十大香水品牌(十大香水品牌TOP排行榜)

十大香水品牌(十大香水品牌TOP排行榜)

十大品牌排行榜”专栏,是从品牌网(www.chinapp.com)网站延伸至官方的特别栏目,专注了解更多行业品牌排行榜。十大品牌频道,这里的榜单都是由几十项数据统计计算系统自动生产,将为您提供最专业信息让您更快捷、更全面的了解行业的十大品牌。 不知道你有没有注意到,香氛香水是个特别特殊的品类,它的价...

编造柬埔寨血奴案当事人被遣返(柬埔寨“血奴”案当事人患严重肝病)

编造柬埔寨血奴案当事人被遣返(柬埔寨“血奴”案当事人患严重肝病)

耸人听闻的柬埔寨“血奴”案经过惊天反转,最终被认定为编造。目前,当事人李亚缘纶罹患严重肝病正在医院接受治疗,另外3名涉案人员被关押。西哈努克省法院出于人道主义精神,建议将李亚缘纶遣返回国。 李亚缘纶罹患重病,柬方出于人道主义建议遣返。 封面新闻 图 4月20日,“血奴”案一位知情人士透露,“血奴...

哪个牌子移动电源最好(充电宝什么牌子好用)

哪个牌子移动电源最好(充电宝什么牌子好用)

移动充电宝又名移动电源,是指可以通过交流电源直接给移动设备充电且自身具有储电单元可在没有交流电源的情况下给移动设备充电的装置。移动充电宝基本都由聚合物锂电池作为储电单元。它本身就是一个聚合物锂电池的存电装置,通过自身的AC插头自行补充及存储电能,通过IC芯片进行电压的调控,再通过连接电源线充电或储电...

95年多少岁属啥(95年属猪人会有二婚命吗)

95年多少岁属啥(95年属猪人会有二婚命吗)

1995年出生的猪人,到2023年,也就是28岁,在父母眼中,也是到了结婚年龄的时候了。有人说,一九九五年的猪人是二婚,95的猪人会不会有二婚呢?如果你还不明白,那就跟小编来一探究竟。 1995年属猪人的性格 出生于1995年的生肖猪,天性善良,乐于帮助弱者,积德。所以这一年的生肖猪,运气很好,运...

中国教师人才网(搭建优质成长环境)

中国教师人才网(搭建优质成长环境)

3月31日,主题为“搭建优质成长环境,满足优秀必然条件”的家庭教育公益讲座暨《妈妈是女王》新书发布会在北京环球财讯中心举行。 中华儿童文化艺术促进会教育发展委员会会长董素彦,营地教育网、中国教师人才网创始人刘胜海等嘉宾出席了发布会。 意识(行为信息中枢)学专家、意识教育推广者、"数字节奏"研创...