Easy UI Tree操作
生活随笔
收集整理的這篇文章主要介紹了
Easy UI Tree操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Easy UI tree操作中,遇到了一系列問題
1.點擊樹傳參數
$('#featureTree').tree({url: 'GetFeatureTree?guid=',method: 'get',checkbox:true,animate: true,dnd: true,onBeforeLoad: function (node, param) {//加載樹前參數賦值參數var guid = $('.roleGuid').val();$('#featureTree').tree('options').url = "GetFeatureTree?guid=" + guid;},});2. 能夠拖動排序
$(function () {$('#tree').tree({url: 'GetDepartmentTree',method: 'get',animate: true,dnd: true,onClick: function (node) {//選中節點觸發 loadDepartment(node.id);},//拖動結束前觸發 onBeforeDrop: function (target, source, point) {//point: 'append','top' or 'bottom'.表示目標內上下//target: DOM object, The node being targeted for the drop.目標元素//source: the source node.拖動節點if (point != 'append') {var place;var targetNode = $(this).tree('getNode', target);//獲取位置if (point == 'top') {place = 0;}else//'bottom' {place = 1;}var startGuid = source.id;var endGuid = targetNode.id;$.ajax({url: "DropTree",type: "POST",data: { "point": place, "startGuid": startGuid, "endGuid": endGuid },datatype: "text",success: function (result) {if (result) {return true;}else {return false;}},error: function () {return false;}})}else {$.messager.alert("提示", "不允許此操作");return false;}}});})3.后臺遞歸算法(自動填寫打勾)
#region 權限樹public ContentResult GetFeatureTree(Guid? guid){List<Feature> lisFeature = new List<Feature>();List<RoleFeature> lisRoleFeature = new List<RoleFeature>();FeatureArgs fArg = new FeatureArgs();if(guid != null){lisRoleFeature = _RoleDAL.GetRoleFeature(guid.Value);}lisFeature = _FeatureDAL.GetFeatures(fArg);var nodestr = "{{\"id\":\"{0}\" ,\"text\": \"{1}\" ,\"checked\":{2},\"children\":[";var jsonstr = "[";if (lisFeature.Count > 0){var rootNameList = lisFeature.Where(p => p.ParentGuid == null).ToList();foreach (var item in rootNameList){loadNodeOfFeature(lisFeature, item, nodestr, ref jsonstr, lisRoleFeature);}jsonstr = jsonstr.TrimEnd(',');jsonstr = jsonstr.TrimEnd('}');jsonstr = jsonstr.TrimEnd(']');jsonstr = jsonstr.TrimEnd(',');jsonstr += "]},";}else{jsonstr += "{}]";}jsonstr = jsonstr.TrimEnd(',');jsonstr += "]";return Content(jsonstr);}private void loadNodeOfFeature(List<Feature> lisFeature, Feature feature, string nodestr, ref string jsonstr, List<RoleFeature> lisRoleFeature){string isChecked = "false";//判斷是否需要打勾if (lisRoleFeature.Any() && lisRoleFeature.Any(o => o.FeatureGuid == feature.Guid)){isChecked = "true";}//增加子節點jsonstr += string.Format(nodestr, feature.Guid, feature.Title, isChecked);//判斷節點是否有子節點var nodeNameList = lisFeature.Where(p => p.ParentGuid == feature.Guid).OrderBy(p => p.SortNo).ToList();if (nodeNameList.Any()){foreach (var item in nodeNameList){loadNodeOfFeature(lisFeature, item, nodestr, ref jsonstr, lisRoleFeature);}jsonstr = jsonstr.TrimEnd(',');jsonstr += "]},";}else{jsonstr += "]},";}}#endregion?
轉載于:https://www.cnblogs.com/guanwanli/p/7762258.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Easy UI Tree操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Echarts与Highcharts的比
- 下一篇: 2017年11月1号复习