예제 #1
0
        /// <summary>
        ///     Заполнение дерева подразделений
        /// </summary>
        public void FillTreeByDivision(Guid selectedDivision)
        {
            _selectedDivision = selectedDivision;
            if (selectedDivision != Guid.Empty)
            {
                _selectedNodeParentList = GetDivisionParents(_selectedDivision);
            }

            Nodes.Clear();
            foreach (var divisionState in GetDivisionState(Guid.Empty))
            {
                int currentDivisionLoadLevel = 1;
                //int currentDepartmentLoadLevel = 2;
                var divisionStateTreeNode = new CustomTreeNode
                {
                    Text  = divisionState.Value,
                    Value = divisionState.Key.ToString(),
                    Tag   = DepartmentTreeNodeType.DivisionState
                };
                if (!_selectedNodeParentList.ContainsKey(divisionState.Key))
                {
                    divisionStateTreeNode.Collapse();
                }
                Nodes.Add(divisionStateTreeNode);
                //Заполнение дерева DivisionState
                CreateDivisionStateTreeChildNodes(divisionStateTreeNode, divisionState.Key, ref currentDivisionLoadLevel,
                                                  true);
            }
        }
예제 #2
0
        /// <summary>
        ///     Создание элемента дерева
        /// </summary>
        /// <param name="treeNodeType">Тип элемента</param>
        /// <param name="Text">Текст</param>
        /// <param name="Value">Значение</param>
        /// <returns>Элемент дерева</returns>
        private CustomTreeNode CreateCustomTreeNode(DepartmentTreeNodeType treeNodeType, String Text, Guid Value)
        {
            var node = new CustomTreeNode
            {
                Text     = Text,
                Value    = Value.ToString(),
                Tag      = treeNodeType,
                ImageUrl =
                    treeNodeType == DepartmentTreeNodeType.DivisionState
                        ? _divisionTreeNodeTypeImageUrl
                        : _departmentTreeNodeTypeImageUrl
            };

            if ((_selectedNodeParentList.ContainsKey(Value)) && Value != _selectedDivision)
            {
                node.Expand();
            }

            else
            {
                //Если не вызвать то сработает событие Expand и загрузятся лишние элементы
                node.Collapse();
            }

            if (_selectedDivision != Guid.Empty && Value == _selectedDivision)
            {
                node.Selected       = true;
                CurrentSelectedNode = node;
            }
            return(node);
        }