protected virtual void InitChildrenControl() { this._children = new Control(); _children.Controls.Clear(); foreach (var child in _item.Children) { var temp = new DLTreeItem(_prefix, child); temp.SelectionChange += this.SelectionChange; _children.Controls.Add(temp); } }
protected virtual void BindTreeData() { this.EnsureChildControls(); _treeContent.Controls.Clear(); #region Create Root element if it's needed if (HasRootElement) { TreeItemModel rootItem = new TreeItemModel(); rootItem.ID = Guid.Empty; rootItem.Name = RootElementName; if (FlatDataModel.Where(i => i.ID == Guid.Empty).Count() == 0) { FlatDataModel.Add(rootItem); } } #endregion var hierarchyDataModel = CreateHierarchyFromFlat(FlatDataModel, HasRootElement); #region Create TreeItems if (EventHandler == null) { EventHandler = new EventHandler <SelectionChangeEventArgs>(this.SelectionChangeHandler); } foreach (var item in hierarchyDataModel) { DLTreeItem temp = new DLTreeItem(this.ClientID, item); temp.SelectionChange += EventHandler; _treeContent.Controls.Add(temp); } #endregion this.Controls.Add(new LiteralControl("<ul id='tree'>")); this.Controls.Add(_treeContent); this.Controls.Add(new LiteralControl("</ul>")); if (FlatDataModel == null || !FlatDataModel.Any()) { this.Controls.Add(new LiteralControl("<span>" + _emptyStuctureLabel + "</span>")); } }