zoukankan      html  css  js  c++  java
  • 构建带树形结构数据的列表

                            int layer = 1;
                            //List<TreeDataViewModel> treecodeitme = new List<TreeDataViewModel>();
                            List<ListDataViewModel> codeitmelist = new List<ListDataViewModel>();
                            List<ListDataViewModel> codeitmelist1 = new List<ListDataViewModel>();
                            List<ListDataViewModel> layer1codelist = datalist.Where(o => o.DataLayer == layer.ToString()).ToList();
                            foreach (var layercode1 in layer1codelist)
                            {
                                layercode1.DataParentCode = "0";
                                codeitmelist.Add(layercode1);
                                codeitmelist1.Add(layercode1);
                            }
                            foreach (var ct in codeitmelist)
                            {
                                CodeItmeGetParent(datalist, ct.DataCode, 2, codeitmelist1);
                            }
                            codeitmelist1 = codeitmelist1.OrderBy(o => o.DataCode).ThenBy(o => o.DataLayer).ToList();
                            datalist = codeitmelist1;
            /// <summary>
            /// 构建带parentcoded的数据
            /// </summary>
            /// <param name="listcodeitme">所有数据</param>
            /// <param name="upcode"上级code></param>
            /// <param name="layer">层级</param>
            /// <param name="codeitmelist1">重新放置容器</param>
            private static void CodeItmeGetParent(List<ListDataViewModel> listcodeitme, string upcode, int layer, List<ListDataViewModel> codeitmelist1)
            {
    
                List<ListDataViewModel> treedatalist = listcodeitme.Where(o => o.DataLayer == layer.ToString() && o.DataCode.StartsWith(upcode)).ToList();
                if (treedatalist.Count() < 1)
                {
                    
                }
                else
                {
                    layer++;
                    foreach (var tree in treedatalist)
                    {
                        tree.DataParentCode = upcode;
                        codeitmelist1.Add(tree);
    //递归调用 CodeItmeGetParent(listcodeitme, tree.DataCode, layer, codeitmelist1); } } }
  • 相关阅读:
    js之自定义鼠标右键菜单
    js之键盘控制div移动
    js之select标签---省市联动小例子
    html之浮动和定位
    java开发简单的用户管理系统
    ASP.NET Web API 2中的属性路由(Attribute Routing)
    ASP.NET Web API中的路由
    Web API 2中的操作结果
    WebApi~通过HttpClient来调用Web Api接口
    Quartz.NET 作业调度
  • 原文地址:https://www.cnblogs.com/liuyudong0825/p/15355894.html
Copyright © 2011-2022 走看看