Private void treelistbind (datatable DT, int p) {treelist1.nodes. clear (); If (DT. rows. count <1) return; dataview DV = new dataview (DT); DV. rowfilter = "parentfieldname =" + P; If (DV. count <1) return; treelistnode node = treelist1.appendnode ("ID", null); node. setvalue (treelistcolumn1, "first node name"); foreach (datarowview dv1 in DV) {treelistnode Tn = treelist1.appendnode (dv1 ["keyfieldname"], node); tn. setvalue (treelistcolumn1, dv1 ["nodename"]); tn. tag = dv1; getcentralchild (DT, TN, convert. toint16 (dv1 ["keyfieldname"]);} private void getcentralchild (datatable DT, treelistnode TN, int p) {dataview DV = new dataview (DT); DV. rowfilter = "parentfieldname =" + P; If (DV. count <1) return; foreach (datarowview dv1 in DV) {treelistnode TNS = tn. treelist. appendnode (dv1 ["keyfieldname"], TN); // treelistnode Tn = treelist1.appendnode (dv1 ["keyfieldname"], node); TNS. setvalue (treelistcolumn1, dv1 ["nodename"]); TNS. tag = dv1; getcentralchild (DT, TNS, convert. toint16 (dv1 ["keyfieldname"]) ;}}