用easyui已经有2年了,换了新环境,要求用mvc开发,所以想把原来的项目直接用mvc重构。
在使用TreeGird的时候出现了问题,发现在转换为treegrid的json 很费劲,一直都是用的easyui 的手动转换类。
突然用mvc 又不想使用json数据拼接的方式,就这样纠结了2天。
今天无意中重新看了一边easyui treegrid的demo,发现原来easyui 早就提供了另外一种解决方案。恍然大悟。
<script type="text/javascript"> $(function () { $('#tg').treegrid({ title: '菜单导航', iconCls: 'icon-ok', url: '/Admin/power/GetList', 700, height: 250, method: 'get', rownumbers: true, idField: 'NavCode', treeField: 'NavName', columns: [[ { field: 'NavName', title: 'Persons', 150 }, { field: 'NavCode', title: 'Task Name', 180 }, { field: 'iconCls', title: 'Begin Date', 80 } ]] }); }) </script> <table id="tg"></table>
1 public ActionResult GetList() 2 { 3 List<power_Nav> list = db.power_Nav.ToList().OrderByDescending(m => m.NavCode).ToList(); 4 List<object> result = new List<object>(); 5 foreach (power_Nav nav in list) 6 { 7 if (nav.ParentCode.Equals("0")) 8 { 9 result.Add(new { NavCode = nav.NavCode, NavName = nav.NavName,iconCls=nav.iconCls }); 10 } 11 else 12 { 13 result.Add(new { NavCode = nav.NavCode, NavName = nav.NavName, iconCls = nav.iconCls, _parentId = nav.ParentCode }); 14 } 15 } 16 var json = new 17 { 18 total = list.Count, 19 rows = result 20 }; 21 return Json(json, JsonRequestBehavior.AllowGet); 22 23 }
最后附上效果图