项目说明,要一个有权限并且按需加载的树形列表.

jeasyui网址

CSS

<!--添加树状控件-->
<link rel="stylesheet" type="text/css" href="../js/GridTree/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../js/GridTree/themes/default/serviceTesting1.css">

HTML

<div id="tableMain">
<table class="easyui-treegrid" id="funTreeList" style="width: 100% !important;"></table>
</div>

JS

<!--treeGrid树状插件-->
<script type="text/javascript" src="../js/GridTree/jquery.easyui.min.js"></script> //找到自己的文件目录 <script>
  
function GetModuleTree(){
$.ajax({
type: "get",
url: durl+"ServicePrice/GetSystemModulePriceTree",
data: {},
cache: false,
success: function (d) {
var data = d.data;
$('#funTreeList').treegrid({
fit: true,
toolbar: '#toolbar',
striped: true,
rownumbers: false, //设置为true,则显示带有行号的列
lines:true, //是否出现线条
fitColumns:true, //设置为true,则会自动扩大或缩小列的尺寸以适应网格的宽度并且防止水平滚动。
data: data, //加载的数据 (此数据为父级和子集的全部数据)
idField:'ModuleID', //指示那个字段是标识字段
treeField:'ModuleName', //定义树节点的字段
loadFilter: myLoadFilter, //最主要的方法 过滤数据
onLoadSuccess: function (row) {
          $('#funTreeList').treegrid('collapseAll')
obj.q(); //权限
closeload();
},
columns:[[
{field:'ModuleName',title:'功能名称',width:200},
{field:'ModuleSort',title:'功能序号',width:40},
{field:'ModuleID',title:'功能ID',width:40},
{field:'ModuleIndustry',title:'适用行业',width:60},
{field:'ModuleRemark',title:'功能简介',width:100,formatter:ModuleRemark},
{field:'IsMenu',title:'首页菜单',align:'center', width:40,formatter:IsMenu},
{field:'priceType',title:'定价点',align:'center', width:150,formatter:priceType},
{field:'btns',title:'操作',align:'center',width:270,formatter:formatOper}
]]
   });
},
error: function (a, b, c) {
closeload();
alert("请求服务器出现错误");
}
});
}
//按需加载子节点
function myLoadFilter(data,parentId){
function setData(data){//重新整理数据的children属性
var todo = [];
for(var i=0; i<data.length; i++){
todo.push(data[i]);//数组末端添加 将源数据添加到数组中便于后续利用
} while(todo.length){
var node = todo.shift();//方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
if (node.children){//如果有子节点
node.state = 'closed';
node.children1 = node.children;
node.children = undefined;
todo = todo.concat(node.children1);//数组联结
       }
}
}
setData(data);
var tg = $(this);//当前页面
var opts = tg.treegrid('options');//获取属性表格的属性对象
//节点展开前执行的方法 row是行数据
  opts.onBeforeExpand = function(row){
if (row.children1){
tg.treegrid('append',{
parent: row[opts.idField],//父节点id
data: row.children1//节点数据
});
row.children1 = undefined;
}
obj.q(); //权限
return row.children1 == undefined;
};
return data;
}
</script>

Jquery EasyUI Treegrid按需加载子集的更多相关文章

  1. jquery easyui easyui-treegrid 使用异步加载数据

    jquery easyui easyui-treegrid 使用异步加载数据 jquery easyui easyui-treegrid 异步请求 >>>>>>&g ...

  2. easyui combogrid 按需加载,点击下拉加载

    功能优点:减少不必要的http请求,减少服务器查询压力,降低额外的浏览器渲染,提高呈现速度开发分享: combogrid 点击才请求的功能实现简要:我分析了费用系统,和现在全网的写法.并不满意.都是要 ...

  3. jQuery easyui datagrid 的数据加载

        其实easyuidatagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据:另一种是加载js对象,也就是使用loadDate方法,这种方法用于加载本地js数据(非ur ...

  4. Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)

    private void SMT(HttpContext context) { string SqlConnection82 = System.Configuration.ConfigurationM ...

  5. jquery easyui:tab自动加载第一个tab内容

    $('#resourceTabs').tabs('unselect', 0);$('#resourceTabs').tabs('select', 0);

  6. jqGrid -treeGrid 按需加载

    Load Rows On Demand (AJAX) 参考:http://www.guriddo.net/demo/treegridjs/

  7. [转载]再次谈谈easyui datagrid 的数据加载

    这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...

  8. 谈谈easyui datagrid 的数据加载(转)

    这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...

  9. 再次谈谈easyui datagrid 的数据加载

    from:http://www.easyui.info/archives/204.html 这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实ea ...

随机推荐

  1. 微信运动数据抓取(PHP)

    “微信运动”能够向朋友分享一个包含有运动数据的网页,网页中就有我们需要的数据.url类似于:http://hw.weixin.qq.com/steprank/step/personal?openid= ...

  2. 我用Django搭网站(2)-QQ登录

    接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权. 第一步:准备阶段 打开QQ互联,并登录你的QQ账号.再点击导航上的" ...

  3. windows phone制作引导页

    适用于WP7 WP8+ 源码下载撸这里 制作动画gif小软件下载 小技巧 ①图片是纯色背景:将页面设置跟图片背景一样颜色 ②图片是渐变or其他,切图时候:单独切背景(页面设置这个为背景)跟图片里面元素 ...

  4. WPF的Image控件图片不能显示出来的问题探究

    在wpf项目中,用Image来显示资源图片,在界面是可以显示,但是在运行的时候却显示不出来. <Image Source=" HorizontalAlignment="Lef ...

  5. 浅谈Spring的两种配置容器

    浅谈Spring的两种配置容器 原文:https://www.jb51.net/article/126295.htm 更新时间:2017年10月20日 08:44:41   作者:黄小鱼ZZZ     ...

  6. 题解 P1434 【滑雪】

    题目链接 此题运用功能强大的 ~~暴力搜索~~ 记忆化搜索才是重点!!! 然而,这是一道经典的DP问题 如果我们用$dis[i][j]$来表示坐标为$(i,j)$时的高度 $cnt[i][j]$ 是我 ...

  7. 题解 P1255 【数楼梯】

    题目链接 好吧,承认python 轻松水过 代码奉上: n = int(input()) #定义,输入 a=1 #初始的变量赋值 b=1 n-=1 #我的毒瘤的循环不得不加上这句话 if n > ...

  8. loj #6122. 「网络流 24 题」航空路线问题

    #6122. 「网络流 24 题」航空路线问题 题目描述 给定一张航空图,图中顶点代表城市,边代表两个城市间的直通航线.现要求找出一条满足下述限制条件的且途经城市最多的旅行路线. 从最西端城市出发,单 ...

  9. [51nod1236] 序列求和 V3(斐波那契数列)

    题面 传送门 题解 把求和的柿子用斐波那契数列的通项公式展开 \[ \begin{aligned} Ans &=\sum\limits_{i = 1}^{n} \left(\frac{(\fr ...

  10. 【spring cloud】源码分析(一)

    概述 从服务发现注解 @EnableDiscoveryClient入手,剖析整个服务发现与注册过程 一,spring-cloud-common包 针对服务发现,本jar包定义了 DiscoveryCl ...