KendoTreeNode BuildTreeNode(DataRow parentRow, DataTable dt) { KendoTreeNode node = BuildSingleTreeNode(parentRow); DataRow[] childRows = dt.Select("ParentID=" + parentRow["ID"].ToString(), "OrderNum ASC"); if (childRows.Length == 0) { DataTable leafTable = contextDt.GetComboboxData("ID, Name, OrderNum", "MapID=" + parentRow["ID"].ToString()); if (leafTable != null) { foreach (DataRow leafRow in leafTable.Select("", "OrderNum ASC")) { node.items.Add(BuildSingleTreeNode(leafRow, true)); } } } else { foreach (DataRow childRow in childRows) { node.items.Add(BuildTreeNode(childRow, dt)); } } return(node); }
KendoTreeNode BuildSingleTreeNode(DataRow row, bool isContextNode = false) { KendoTreeNode result = new KendoTreeNode(); result.id = isContextNode ? (int)row["ID"] + 100000 : (int)row["ID"]; result.text = row["Name"].ToString(); result.expanded = "true"; result.spriteCssClass = ""; return(result); }