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

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

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

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

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

香山在哪里个城市(香山旅游风景区)

香山在哪里个城市(香山旅游风景区)

香山旅游风景区位于张家港市西陲南沙镇境内,西接锡澄高速公路,江阴长江大桥和江阴市区。 北靠国际贸易商港张家港港和全国唯一的内河港型保税区张家港保税区,东距张家港市区15公里,交通便捷。 全山占地面积4.37平方公里,海拔高度为136.6米。香山旅游风景区分为。 民乐寻香区,康乐生香区,文化采...

如何提高工作积极性(提高员工的工作积极性并不难)

如何提高工作积极性(提高员工的工作积极性并不难)

管理团队是件特别费心费力的事情,很多管理者都认为现在的员工不听话,现在的队伍不好带。严也不行,松也不行,总之就是进退维谷,左右为难。其实做领导也要掌握技巧,不仅可以让下属忠诚,团队业绩也会蒸蒸日上。 提高员工的工作积极性并不难,用好这三个方法,让他们主动工作 一、对新入职的员工进行细致的培训 新员工...

预计2020中考分数线(成都2020中考分数线划定:省重线552分)

预计2020中考分数线(成都2020中考分数线划定:省重线552分)

【成都2020中考分数线划定:省重线552分 普高线520分】7月28日晚,成都市2020年中考分数线出炉。成都市教育局公布今年中考5+2区域省级示范学校普通高中分数线为552分,一般普通高中分数线为520分。(四川新闻网记者 文骥) 声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯...

刘学州属什么多少岁(一觉醒来)

刘学州属什么多少岁(一觉醒来)

有人说,会投胎,那么你一出生就已经是终点了。 多少人努力了一辈子,到达的终点不过是其他人的起点。 但是,无论出身如何,我还更加偏向于靠自己! 孙海洋在认亲大会上,拉着儿子痛哭,这十四年的相思和牵挂。让我们为了这个风雨飘摇十四年的父亲落泪。 而这样的相思,才是一个正常父母该有的提现。 但是,这个年仅...