在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

Easy UI Tree操作相关推荐

  1. 第四十四课:jQuery UI和jQuery easy UI

    jQuery UI是jQuery官方提供的功能效果和UI样式.作为官方出的东西,它一直没有被人们看重,一是它没有datagrid,tree等UI库必备的东西,二是它修改太过频繁,体积庞大.其实它所有以 ...

  2. jQuery Easy UI Panel(面板)组件

    panel(面板)组件,跟前面的组件使用方法差点儿都差点儿相同,也是从设置一些面板属性.操作面板触发的事件.我们可针对面板对象的操作方法这三个点去学习. 后面有一些组件要依赖于这个组件. 另一点跟前面 ...

  3. jquery ui和easy ui联合使用

    本文以jquery ui中的自动完成(autocomplete)插件,  easy ui中的(tree)树形菜单插件,(grid)网格插件的综合运用为例来展示插件的魅力. 开发环境:struts2.3 ...

  4. 初学jQuery Easy UI的总结

      1.使用jQuery Easy UI的目的:    jQuery Easy UI是一组基于jQuery的UI插件集合,而jQuery Easy UI 的目标就是帮助Web开发者更轻松的打造出功能丰 ...

  5. 用Easy UI快速搭建一个后台

    今天来分享一个我前端技术-------如何使用Easy UI快速搭建一个后台,本博主也只是在官网文档学习了一个小时左右,就已经会使用了,当你学了Easy UI后,一个后台短短两分钟就可以over了,好 ...

  6. easy ui JS 实现Grid

    easy ui的grid的实现方式有两种 1.是在网页中实现 (这里不说了 我感觉还是在js中实现操作起来比较方便) 2.在JS中实现 好了我们就来说说如何在JS中实现的GRID 第一步就是我们要引用 ...

  7. Jquery Easy UI Datagrid 上下移动批量保存数据

    DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...

  8. 7个jquery easy ui 基本组件图解

    下面给出7个jquery easy ui 基本组件: 1 基本面板 <!DOCTYPE html> <html> <head><meta charset=&q ...

  9. 一行代码完成定时任务调度,基于Quartz的UI可视化操作组件 GZY.Quartz.MUI

    前言 之前发布过第一个版本,有兴趣的可以去看看: NET Core 基于Quartz的UI可视化操作组件 GZY.Quartz.MUI 简介 GitHub开源地址:l2999019/GZY.Quart ...

最新文章

  1. 生成删除约束语句 SQL语句
  2. 前端_JavaScript_Method
  3. 机器学习十大算法(二)
  4. centos7 安装mysql5.6_centos7安装mysql5.6
  5. 别再说学习无趣了,跟你分享这 8 条 Python 奇技淫巧!
  6. BT5 设置Ubuntu主题和字体
  7. 已经安装完成mysql后wamp怎么配置
  8. winform模拟鼠标点击
  9. python tk combobox设置值为空_Python编程从入门到实践日记Day24
  10. 伯克利区块链课程:替代密码验证,比特币应用数字签名的进化之路
  11. C# 从磁盘中读取文件
  12. system.data.oracleclient requires oracle client software version 8.1.7 or greater问题(转贴)
  13. 转一个国外程序员辞职自己做广告应用的经历贴
  14. 文档转换工具 —— 你还在为wps的word转pdf上限五页而苦恼吗?
  15. linux下gpt分区,Linux下的GPT分区
  16. Oracle Comment添加表备注和列备注添加和查询comment on table or culumn
  17. 函数9:生成器和 yield 语句
  18. 今日头条 2018 AI Camp 视频面试
  19. HashMap 为什么是2倍扩容
  20. STEM 是个怎样高大上的东西?

热门文章

  1. java如何对一个表达式开根号_作为一个零基础的新手,如何系统的自学Java和JavaEE开发技术?...
  2. java file类详解_Java File类详解及IO介绍及使用
  3. python绘制蝴蝶曲线_如何编程实现蝴蝶函数曲线
  4. selenium截图模糊_Selenium截屏 图片未加载的问题解决--【懒加载】
  5. apply和call
  6. Linux RedHat7.0 上vsftp配置
  7. java 文件保存目录结构_java web 实现文件夹上传(保留目录结构)
  8. bagging和时间序列预测_时间序列的LSTM模型预测——基于Keras
  9. 数据库增删改查性能对比
  10. mysql mgr简介_mysql8.0初探:(二)MySQL Group Replication-MGR集群简介