【项目实战】——Tree树显示过程核心
2017-07-28 17:02
309 查看
前言:
最近的项目中用到了曲线,但在这个过程中Tree树的显示是它的基础,不仅用到了一层的Tree,也用到了两层的Tree,小编的上一篇博客中对Tree树进行了简单介绍,这次对于一层和两层的Tree树显示过程中Controller的核心代码进行了总结。一层的Tree:
效果:
核心代码:
public ActionResult queryIndicator(int PrjID , int VolunteerGroupID,int VolunteerID ) { DataTable dt = new DataTable(); dt = bll.queryIndicator(PrjID,VolunteerGroupID,VolunteerID); List<JsonTree> list = initTree(dt); var json = JsonConvert.SerializeObject(list); return Content(json); } //目录树相关 public List<JsonTree> initTree(DataTable dt) { DataRow[] drList = dt.Select(); List<JsonTree> rootNode = new List<JsonTree>(); foreach (DataRow dr in drList) { JsonTree jt = new JsonTree(); jt.id = Convert.ToInt32(dr["IndicatorCode"]); jt.iconCls = "icon-blank"; jt.text = dr["IndicatorName"].ToString(); jt.state = "open"; rootNode.Add(jt); } return rootNode; }
两层的Tree树:
效果:
核心代码:
//(目录树) public ActionResult GetVolunGroup(int prjID) { DataTable dt = new DataTable(); dt = bllVolunBasicMulAna.GetVolunGroup(prjID); List<JsonTree> list = initTree(dt); var json = JsonConvert.SerializeObject(list); return Content(json); } //目录树相关 public List<JsonTree> initTree(DataTable dt) { DataRow[] drList = dt.Select();//所有表数据 List<JsonTree> parentNodes = new List<JsonTree>();//父级节点 foreach (DataRow dr in drList) { JsonTree parentNode = null; parentNode = parentNodes.Find(e => e.id == Convert.ToInt32(dr["VolunteerGroupID"])); if (parentNode == null) { parentNode = new JsonTree(); parentNode.id = Convert.ToInt32(dr["VolunteerGroupID"]); parentNode.text = dr["VolunGroupName"].ToString(); parentNode.state = "closed"; parentNode.iconCls = "icon-blank"; //jt.attributes = CreateUrl(dt, jt); parentNode.children = CreateChildTree(dt, parentNode);//子集节点 parentNodes.Add(parentNode); } //若该父节点已存在 else { continue; } } return parentNodes; }
总结:
初次接触感觉很难,要静下心来仔细分析,慢慢就会发现其实并没有想想中的那么难,站在巨人的肩膀上,不断前进。相关文章推荐
- 第16周项目显示直接插入排序过程
- Android项目实战--手机卫士14--接电话时显示电话归属地
- 【SSH网上商城项目实战06】基于DataGrid的数据显示
- 我们的一个已投产项目的高可用数据库实战 - mongo 副本集的搭建详细过程
- 第十六周 项目一 (1) 显示直接插入排序过程
- 获取版本号完成版本更新的过程步骤方法流程及Xutils的使用(项目实战学习总结)
- AJ学IOS 之微博项目实战(10)微博cell中图片的显示以及各种填充模式简介
- 【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
- OA项目实战学习(8)——配置权限的树形结构显示
- 【SSH网上商城项目实战06】基于DataGrid的数据显示
- 【SSH网上商城项目实战22】获取银行图标以及支付页面的显示
- 软件项目开发过程中主要遇到的核心问题小结
- 16周项目1-验证算法(1)直接插入排序 显示过程
- jd-gui反编译全过程,myeclipse中java web项目jar包没有红叉仍然显示感叹号,运行main函数提示errors exist in required project(s)
- 软件项目开发过程中主要遇到的核心问题小结
- 【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
- android 学习笔记15-项目实战 切换显示动画 底部线条移动
- Android项目实战--手机卫士15--设置手机归属地的样式以及显示位置
- ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具
- 【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示