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
Easy UI Tree操作相关推荐
- 第四十四课:jQuery UI和jQuery easy UI
jQuery UI是jQuery官方提供的功能效果和UI样式.作为官方出的东西,它一直没有被人们看重,一是它没有datagrid,tree等UI库必备的东西,二是它修改太过频繁,体积庞大.其实它所有以 ...
- jQuery Easy UI Panel(面板)组件
panel(面板)组件,跟前面的组件使用方法差点儿都差点儿相同,也是从设置一些面板属性.操作面板触发的事件.我们可针对面板对象的操作方法这三个点去学习. 后面有一些组件要依赖于这个组件. 另一点跟前面 ...
- jquery ui和easy ui联合使用
本文以jquery ui中的自动完成(autocomplete)插件, easy ui中的(tree)树形菜单插件,(grid)网格插件的综合运用为例来展示插件的魅力. 开发环境:struts2.3 ...
- 初学jQuery Easy UI的总结
1.使用jQuery Easy UI的目的: jQuery Easy UI是一组基于jQuery的UI插件集合,而jQuery Easy UI 的目标就是帮助Web开发者更轻松的打造出功能丰 ...
- 用Easy UI快速搭建一个后台
今天来分享一个我前端技术-------如何使用Easy UI快速搭建一个后台,本博主也只是在官网文档学习了一个小时左右,就已经会使用了,当你学了Easy UI后,一个后台短短两分钟就可以over了,好 ...
- easy ui JS 实现Grid
easy ui的grid的实现方式有两种 1.是在网页中实现 (这里不说了 我感觉还是在js中实现操作起来比较方便) 2.在JS中实现 好了我们就来说说如何在JS中实现的GRID 第一步就是我们要引用 ...
- Jquery Easy UI Datagrid 上下移动批量保存数据
DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...
- 7个jquery easy ui 基本组件图解
下面给出7个jquery easy ui 基本组件: 1 基本面板 <!DOCTYPE html> <html> <head><meta charset=&q ...
- 一行代码完成定时任务调度,基于Quartz的UI可视化操作组件 GZY.Quartz.MUI
前言 之前发布过第一个版本,有兴趣的可以去看看: NET Core 基于Quartz的UI可视化操作组件 GZY.Quartz.MUI 简介 GitHub开源地址:l2999019/GZY.Quart ...
最新文章
- 生成删除约束语句 SQL语句
- 前端_JavaScript_Method
- 机器学习十大算法(二)
- centos7 安装mysql5.6_centos7安装mysql5.6
- 别再说学习无趣了,跟你分享这 8 条 Python 奇技淫巧!
- BT5 设置Ubuntu主题和字体
- 已经安装完成mysql后wamp怎么配置
- winform模拟鼠标点击
- python tk combobox设置值为空_Python编程从入门到实践日记Day24
- 伯克利区块链课程:替代密码验证,比特币应用数字签名的进化之路
- C# 从磁盘中读取文件
- system.data.oracleclient requires oracle client software version 8.1.7 or greater问题(转贴)
- 转一个国外程序员辞职自己做广告应用的经历贴
- 文档转换工具 —— 你还在为wps的word转pdf上限五页而苦恼吗?
- linux下gpt分区,Linux下的GPT分区
- Oracle Comment添加表备注和列备注添加和查询comment on table or culumn
- 函数9:生成器和 yield 语句
- 今日头条 2018 AI Camp 视频面试
- HashMap 为什么是2倍扩容
- STEM 是个怎样高大上的东西?
热门文章
- java如何对一个表达式开根号_作为一个零基础的新手,如何系统的自学Java和JavaEE开发技术?...
- java file类详解_Java File类详解及IO介绍及使用
- python绘制蝴蝶曲线_如何编程实现蝴蝶函数曲线
- selenium截图模糊_Selenium截屏 图片未加载的问题解决--【懒加载】
- apply和call
- Linux RedHat7.0 上vsftp配置
- java 文件保存目录结构_java web 实现文件夹上传(保留目录结构)
- bagging和时间序列预测_时间序列的LSTM模型预测——基于Keras
- 数据库增删改查性能对比
- mysql mgr简介_mysql8.0初探:(二)MySQL Group Replication-MGR集群简介