Recursive algorithm for storing leaf nodes in an empty StringBuilder variable
1 Private voidGETLEAFIDSB (StringBuilder result, DataTable DT,stringChildcolumnname,stringParentcolumnname,intId)2 {3datarow[] Temp1 = dt. Select (Parentcolumnname +"= "+ Id +" ");4 if(Temp1. Length = =0)5 {6Result. Append (Id +",");7 }8 Else9 {Ten foreach(DataRow item2inchTemp1) One { Adatarow[] Temp2 = dt. Select (Parentcolumnname +"="+ Item2[childcolumnname]. ToString () +" "); -GETLEAFIDSB (result, DT, childcolumnname, Parentcolumnname,int. Parse (Item2[childcolumnname]. ToString ())); - } the } -}
Wraps the above method, returning the string of the leaf node
1 Private stringGETLEAFIDSTR (DataTable DT,stringChildcolumnname,stringParentcolumnname,intId)2 {3StringBuilder SB =NewStringBuilder ();4 GETLEAFIDSB (SB, DT, Childcolumnname, Parentcolumnname, Id);5SB = sb. Remove (sb.) Length-1,1);6 returnsb. ToString ();7}
Call the following method directly when using, return the leaf node string of the specified node
Gets all the leaf node strings for a node in a tree-structured table