Example #1
0
        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);
            }
        }
Example #2
0
        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>"));
            }
        }