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

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

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

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

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

星座配对网易(相遇就注定相爱的星座配对)

星座配对网易(相遇就注定相爱的星座配对)

有的人只是相互对视了一眼,就知道彼此是对的人了,爱情有时候就是这样带有魔力的,不需要多轰轰烈烈的追求过程,只是因为相遇了,就知道一定会相爱的。那么在十二星座中,相遇就注定相爱的星座配对说的都是谁呢?今天就让我们一起来看看吧。 双子座VS天蝎座:一个愿打一个愿挨 双子座和天蝎座相遇的时候会彼此产生怜...

古根海姆博物馆在哪个国家(古根海姆博物馆)

古根海姆博物馆在哪个国家(古根海姆博物馆)

小知识普及:在美国,学生18岁高中毕业后不需要通过大学入学考试就能升入高等院校学习,成绩优秀的学生可以优先进入好的大学学习。美国的教育水准在联合国的经济指数调查中列为世界第一,美国的许多高等院校有非常大竞争力,包括斯坦福大学、耶鲁大学、麻省理工学院、哥伦比亚大学等。在世界排名前500名大学中,美国占...

什么叫独立学院(独立学院是个什么存在)

什么叫独立学院(独立学院是个什么存在)

独立学院,在百度百科中这样定义:是由普通本科高校与社会力量即企业、事业单位、社会机构或个人合作举办的,能够进行本科层次教育的高等教育机构。 其实,大致可以将独立学院分为“内生型”和“外生型”两类,接下来我们一一细说。 内生型的独立学院,是指以普通公办高校作为举办主体,主要依托母体学校的教育资源来实...

点线面之间的位置关系(高中立体几何点线面的位置关系你知道吗)

点线面之间的位置关系(高中立体几何点线面的位置关系你知道吗)

点、线、面的位置关系 ①平面的基本性质及其推论 公理1:如果一条直线上的两点在一个平面内,那么这个直线再次平面内。 公理2:过不在一条直线上的三点,有且只有一个平面。 推论1:经过一条直线和直线外一点,有且只有一个平面。 推论2:经过两条相交直线,有且只有一个平面。 推论3:经过两条平行直线,有且只...

powerpoint中版式是什么意思(别再说你不会PPT排版)

powerpoint中版式是什么意思(别再说你不会PPT排版)

平时喜欢看发布会的朋友们一定忘不了那些千变万化、感觉特别高大上的 PPT,但你知道吗?在专业 PPT 设计师看来,那些所谓的「千变万化」都逃不过几个固定的套路。 今天就给大家介绍其中 2 个 PPT 中常用的经典版式! 01 左右版式 ◆◆◆ 左右版式,就是将页面分成左右两个部分。...

三个子念什么(读印:吴昌硕“无须子”)

三个子念什么(读印:吴昌硕“无须子”)

如果细看吴昌硕的照片,我们会发现,我们很少看到吴昌硕的胡须,这是吴昌硕最大的面貌特征,就是不-长-胡-子。 为此,吴昌硕曾在七十岁那年刻过一方“无须吴”的印章,如图: (无须吴及其边款) 甚至他还在边款里说:“翁灵舒,逃禅乎,我禅未逃须则无。咄咄留须表丈夫,无须吴,无须吴。癸丑秋,老缶自詺。时年政...