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

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

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

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

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

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

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

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

打猎什么犬好(打猎能力超牛的10种狗)

打猎什么犬好(打猎能力超牛的10种狗)

其实现在很多狗狗在主人的身边就是小宝贝,对猎犬其实不是很熟。现在来看看打猎能力超牛的10种狗,国内的居然也不少。 川东猎犬 起源于我国四川东部,已经有2000多年的历史。 川东猎犬体型中等,一直以来,川东猎犬被用作打猎使用。在狩猎的时候,川东猎犬专门咬猎物的脖子,让猎物在短时间里窒息而亡。 法老...

新桃换旧符指的是(春联:千门万户曈曈日)

新桃换旧符指的是(春联:千门万户曈曈日)

在家家户户张灯结彩的忙碌当中,伴随着此起彼伏的鞭炮声,旧的一年即将结束,新的一年正在向我们走来。 作为我们最盛大最重要的传统节日,春节里有些仪式是必不可少的,比如贴春联。王安石曾在《元日》中写道:“爆竹声中一岁除,春风送暖入屠苏。千门万户曈曈日,总把新桃换旧符。”其中“新桃”和“旧符”指的是同一个东...

七七事变是什么意思(抗日战争)

七七事变是什么意思(抗日战争)

想来每个中国人,都会对一首《没有共产党就没有新中国》的歌曲,哼唱几句吧。 其中有一句歌词是“他坚持抗战八年多”,意思是说共产党带领中国人民抵抗日寇八年多时间。 不过在2017年,由教育部发布的一则叫做《关于在中小学地方课程教材中全面落实“十四年抗战”概念的函》中,明确指出,抗日战争实际上打了十四年之...