public static string GetSubDataList(string parentId, string parentIdStr) { try { BLL_S_TestingPoint bll = new BLL_S_TestingPoint(); DataTable dt = new DataTable(); List <object> listReturn = new List <object>(); string strWhere = " Parent_Id='" + parentId + "' "; dt = bll.GetListJoinDict(strWhere, "TPCode").Tables[0]; DataTable dtAll = bll.GetList(" ").Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { DataRow[] drSub = dtAll.Select("Parent_Id='" + dt.Rows[i]["S_TestingPoint_Id"].ToString() + "'"); listReturn.Add(new { S_KnowledgePoint_Id = dt.Rows[i]["S_TestingPoint_Id"].ToString(), Parent_Id = dt.Rows[i]["Parent_Id"].ToString(), KPName = string.IsNullOrEmpty(dt.Rows[i]["TPNameBasic"].ToString()) ? dt.Rows[i]["TPName"].ToString() : dt.Rows[i]["TPNameBasic"].ToString(), KPCode = dt.Rows[i]["TPCode"].ToString(), KPLevel = dt.Rows[i]["TPLevel"].ToString(), KPLevelName = dt.Rows[i]["TPLevelName"].ToString(), parentIdStr = parentIdStr, paddingLeft = 15 * (parentIdStr.Split('&').Length - 1), hasChildren = drSub.Length, IsLast = dt.Rows[i]["IsLast"].ToString(), }); } if (dt.Rows.Count > 0) { return(JsonConvert.SerializeObject(new { err = "null", list = listReturn })); } else { return(JsonConvert.SerializeObject(new { err = "暂无数据" })); } } catch (Exception ex) { return(JsonConvert.SerializeObject(new { err = ex.Message.ToString() })); } }