コード例 #1
0
        public List <T_TreeSysListModel> Tree(int SysId, string Type = "id")
        {
            List <T_TreeSysListModel> result = new List <T_TreeSysListModel>();
            T_TreeSysListModel        data   = new T_TreeSysListModel();
            List <T_SysListModel>     list   = new List <T_SysListModel>();

            list = dal.Filter(o => o.SysId == SysId).DTOList().ToList();
            int rank   = 1;
            var parent = list.Where(w => w.ParentId == null).OrderBy(b => b.Listorder).ToList();

            foreach (var item in parent)
            {
                data        = new T_TreeSysListModel();
                data.Id     = item.Id;
                data.text   = item.Name;
                data.Remark = item.Remark;

                data.id        = Type == "text" ? item.Name: item.Id.ToString();
                data.Name      = item.Name;
                data.Listorder = item.Listorder;
                data.Rank      = rank;
                if (list.Count(w => w.ParentId == item.Id) > 0)
                {
                    data.children = TreeChildren(list, item.Id, rank, Type);
                }

                result.Add(data);
            }


            return(result);
        }
コード例 #2
0
        public List <T_TreeSysListModel> TreeChildren(List <T_SysListModel> node, int parentId, int rank, string Type)
        {
            List <T_TreeSysListModel> newnode = new List <T_TreeSysListModel>();

            var parent = node.Where(w => w.ParentId == parentId).OrderBy(b => b.Listorder).ToList();

            if (parent.Count() > 0)
            {
                foreach (var item in parent)
                {
                    T_TreeSysListModel data = new T_TreeSysListModel();
                    data.Id        = item.Id;
                    data.Name      = item.Name;
                    data.id        = Type == "text" ? item.Name : item.Id.ToString();
                    data.text      = item.Name;
                    data.Remark    = item.Remark;
                    data.ParentId  = item.ParentId;
                    data.Listorder = item.Listorder;
                    data.Rank      = rank + 1;
                    if (node.Count(w => w.ParentId == item.Id) > 0)
                    {
                        data.children = TreeChildren(node, item.Id, rank + 1, Type);
                    }

                    newnode.Add(data);
                }
            }

            return(newnode);
        }
コード例 #3
0
        public List <T_TreeSysListModel> TreeCombox(int SysId)
        {
            List <T_TreeSysListModel> result = new List <T_TreeSysListModel>();
            T_TreeSysListModel        data   = new T_TreeSysListModel()
            {
                id       = "",
                text     = "",
                children = null,
            };

            result.Add(data);
            List <T_TreeSysListModel> list = new List <T_TreeSysListModel>();

            list = Tree(SysId);
            foreach (var item in list)
            {
                data          = new T_TreeSysListModel();
                data.id       = item.id;
                data.text     = item.Name;
                data.children = item.children;
                result.Add(data);
            }
            return(result);
        }