/***********************前端css********************************/
<style>
.ztree *{
font-family:"微软雅黑";
font-size:14px;
}
.ztree li span.button.pIcon_ico_open{margin-right:2px; background: url('<%=basePath%>resources/app/images/pIcon.png') no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
.ztree li span.button.pIcon_ico_close{margin-right:2px; background: url('<%=basePath%>resources/app/images/pIcon.png') no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
.ztree li span.button.subIcon_ico_open, .ztree li span.button.subIcon_ico_close{margin-right:2px; background: url('<%=basePath%>resources/app/images/subIcon.png') no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
.ztree li span.button.pIcon_ico_docu{margin-right:2px; background: url('<%=basePath%>resources/app/images/pIcon.png') no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
.ztree li span.button.subIcon_ico_docu{margin-right:2px; background: url('<%=basePath%>resources/app/images/subIcon.png') no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
</style>
/********************************前端js**********************/
var setting;
var selectedTreeId="";
var treeObj;
$(document).ready(function(){
var url="<%=basePath %>v/uc/user/getJsonSort";
$.getJSON(url, function (zNodes){
zNodes = "["+zNodes+"]";
treeObj = $.fn.zTree.init($("#treeDemo"), setting, eval('('+zNodes+')'));
});
var ajaxUrl = "";
setting= {
async: {
enable: true,
url:function(){
return ajaxUrl;
}
},
view: {
showIcon: showIconForTree
},
data: {
simpleData: {
enable: true
}
},
callback: {
onClick:loadList,
beforeExpand: function(treeId, treeNode) {
ajaxUrl = "<%=basePath %>v/uc/user/getSubJsonSort?code="+treeNode.id;
}
}
};
function showIconForTree(treeId, treeNode) {
return treeNode.level != 2;
};
function loadList(event, treeId, treeNode,clickFlag) {
selectedTreeId = treeNode.id;
$("#list").setGridParam({
postData:{orgn:treeNode.id}
}).trigger("reloadGrid");
};
});
/*************************************后台拼接json***********/
@RequestMapping("getJsonSort")
@ResponseBody
public String getJsonSort(String code){
/*String basePath = SystemPropertyGetUtil.getResource("config").getString("system.url.base");
String pIconPath=basePath+"resources/app/images/subIcon.png";*/
StringBuilder sb = new StringBuilder();
List<SMTableZZJG> topList = orgnService.getTopOrgn();
for(int i=0;i<topList.size();i++){
SMTableZZJG top = topList.get(i);
sb.append("{");
sb.append("id:'"+top.getField000()+"'");
sb.append(",pId:'"+top.getField003()+"'");
sb.append(",name:'"+top.getField001()+"'");
List<SMTableZZJG> subList = orgnService.getSubOrgn(top.getField000());
sb.append(",iconSkin:'pIcon'");
if(subList.size()>0)
{//如果有子集,则保证打开,方便前端expand使用
sb.append(",isParent:true");
}
else
{
sb.append(",isParent:false");
}
sb.append("},");
}
String str = sb.toString().substring(0, sb.toString().length()-1);
return str;
}
相关推荐
ztree无限极树,可以运行,包括数据库,vs2010+sqlserver2005
ztree实现异步加载,使用java语言
最近项目中有一个比较大型的树节点加载,网上面也看过一些解决方案,感觉都不是很好,也有很多误区,比如单击节点时加载子...ztree fileter方法是在每次展开时都会执行,所以根据不同的请求达到异步加载子节点的需求。
jquery ztree 异步加载 延迟加载效果
zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。 介绍 zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合...
ztree异步加载demo,ztree异步加载demo.ztree异步加载demo
ztree异步加载,逐级加载,提高加载速度,优化树形结构加载速度
一个Ztree异步分批加载demo,只有前台代码,后台只需要提供分页查询,然后页码自动增长即可。
jquery ztree 异步动态加载部署直接运行,大数据量,异步是很好的处理方式
用springMVC和mysql,实现了一个简单的zTree异步加载例子,希望可以帮到更多的人。。。
ztree的异步加载实现jfinal,希望可以帮到你
该资源原理说明与博客《异步&同步加载树节点----zTree(一)》相一致。
前端框架 zTree 从数据库中动态加载树形菜单前端框架
原来整理的zTree异步加载的应用例子,很多朋友需要,就放到这里了。
ztree 异步加载 拖拽 右键菜单 功能
主要演示了EF+MVC3+zTree动态加载的一个效果,代码简单明了,容易拓展
ztree+dwr实现的异步加载树形菜单
本人最近在做区域切换,由于是全国地区的,数据高达60多万条,所有采用异步加载的方式。这是一个ztree异步加载全国地区的代码。controlller是后台,tree.jsp是页面。