Exemplo n.º 1
0
 public void AfterExpand(UltraTreeNode node, ImageList.ImageCollection images)
 {
     if (!ChildrenDic.ContainsKey(node.Key) || ChildrenDic[node.Key].IsNullOrEmpty())
     {
         return;
     }
     node.Nodes.Clear();
     BuildSubTree(node, ChildrenDic[node.Key], images);
 }
Exemplo n.º 2
0
        /// <summary>
        /// 更新字典中缓存内容
        /// </summary>
        /// <param name="key"></param>
        /// <param name="getChildren"></param>
        protected void UpdateDic(string key, Func <List <T> > getChildren)
        {
            var model = ParentsToBeUpdated?.Find(key);

            if (model != null)
            {
                ParentsToBeUpdated.Remove(model);
                if (ChildrenDic.ContainsKey(key))
                {
                    ChildrenDic[key] = getChildren();
                }
            }

            if (!ChildrenDic.ContainsKey(key))
            {
                ChildrenDic.Add(key, getChildren());
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取子类集合
        /// </summary>
        /// <param name="selectedNodes">选中的树节点集合</param>
        /// <param name="getChildren"></param>
        public List <T> GetChildren(SelectedNodesCollection selectedNodes, Func <List <T> > getChildren = null)
        {
            var children = new List <T>();

            foreach (var node in selectedNodes)
            {
                if (ChildrenDic.ContainsKey(node.Key) && ChildrenDic[node.Key].IsNotNullorEmpty())
                {
                    children.AddRange(ChildrenDic[node.Key]);
                }
                else if (getChildren != null && getChildren().IsNotNullorEmpty())
                {
                    ChildrenDic.Add(node.Key, getChildren());
                }
            }

            return(children);
        }