private void BindChild(TreeCodeTableModel node, ArrangeBuilder ab) { if (this.KeyValues != null && this.KeyValues.Count() > 0) { var _kvs = this.KeyValues.ToList(); foreach (var k in _kvs) { if (node.CODE_VALUE == k) { node.IsSelect = true; break; } } } node.Arrange = ab.GetText(); node.LayerLevel = ab.LayerLevel; this.OnTreeNodeSetting(node); var _nodes = GetChildrenNodes(node.CODE_VALUE).ToList(); if (_nodes != null && _nodes.Count > 0) { node.Children = _nodes; node.isParent = true; ArrangeBuilder abb = ab.Copy(); abb.AddLevelNode(); for (int i = 0; i < node.Children.Count(); i++) { abb.AddNode(); BindChild((node.Children as IList <TreeCodeTableModel>)[i], abb); } } else { node.isParent = false; node.Children = new List <TreeCodeTableModel>(); } }
public override TreeCodeTableModel GetAllTree() { TreeCodeTableModel root = new TreeCodeTableModel(); root.CODE_VALUE = Root; ArrangeBuilder ab = new ArrangeBuilder(); if (Root == "0") { root.CODE_TEXT = ""; root.IsLeaf = false; root.isParent = true; root.nocheck = OnlyLeafCheckbox ? root.isParent.Value <bool?>() : null; } else { root = getTreeNode(Root); } // root.Arrange = ab.GetText(); BindChild(root, ab); return(root); }