easyUI 实现异步tree
html:
<ul id="relInfoTree" class="easyui-tree"></ul>
js:
$(document).ready(function() {
loadRelTree();
});
function loadRelTree(){
$('#relInfoTree').tree({
// checkbox: true,
animate:true,
lines:true,
url: '/CrocodileSecret/system/cisweb/loadRelTree?id=0',//这是第一次加载树的url 加载根节点
loadFilter:function(data){
return data.treeJson;
},
onBeforeExpand:function(node){
$("#relInfoTree").tree('options').url='/CrocodileSecret/system/cisweb/loadRelTree?id='+node.id;//这是点击父节点的时候发送请求去加载子节点
}
});
}
java:
-EasyuiTreeNode.java
private Integer id;//: 唯一标示;
private String text;//: 显示的文本;
private List<EasyuiTreeNode> children;//:子节点;
private String state;//:closed或open,表示节点是展开还是折叠;
private String iconCls="icon-blank";//空白图标,可选
getter...setter...
-Controller
@RequestMapping(value = "/loadRelTree", method = RequestMethod.POST)
@ResponseBody
public JSONObject loadRelTree(Integer id,@RequestParam(value = "orgid", required = false) Integer orgid,HttpServletRequest request, HttpServletResponse response) {
JSONObject json = new JSONObject();
json = cisWebApp.loadRelTree(id);
return json;
}
-service
public JSONObject loadRelTree(Integer id, Integer orgId) {
JSONObject object = new JSONObject();
List<EasyuiTreeNode> list=new ArrayList<EasyuiTreeNode>();
if(id==null || id==0) {
EasyuiTreeNode node=new EasyuiTreeNode();
CisOrg cisOrg=cisComp.getOrgById(orgId);
node.setId(cisOrg.getOwnerUserId());
node.setText(cisOrg.getOrgName());
node.setState("open");
node.setChildren(cisComp.getSublist(cisOrg.getOwnerUserId()));//start 初始显示一级
if(node.getChildren().size()>0) {
node.getChildren().stream().forEach(subNode->{
subNode.setState(crmComponent.selIsClose(subNode.getId())>0 ? "closed":"open");
});//end 如果只显示根节点,不用这段
}
list.add(node);
}else {//异步加载
list=cisComp.getSublist(id);
if(list.size()>0) {
list.stream().forEach(node->{
node.setState(crmComponent.selIsClose(node.getId())>0 ? "closed":"open");
});
}
}
object.put("treeJson", list);
object.put("status", "succeed");
return object;
}
-xml
<!-- 查询下级 -->
<select id="getSublist" parameterType="java.lang.Integer" resultType="***.util.EasyuiTreeNode">
SELECT
u.id,
u.nickname text
FROM
crm_user r
INNER JOIN cis_user u ON u.id = r.user_id
WHERE
parent_user_id = #{userId}
AND u.deleted=0
AND r.deleted=0
AND r.weight=1
</select>
<!-- 查询是否有下级 -->
<select id="selIsClose" parameterType="java.lang.Integer" resultType="java.lang.Integer">
SELECT
COUNT(*)
FROM
crm_user
WHERE
parent_user_id = #{userId}
AND deleted = 0
AND weight=1
</select>
easyUI 实现异步tree的更多相关文章
- jquery easyui的异步tree
1.创建一个简单的tree 结果如图: <script> $(function(){ $('#tt').tree(){ url:'要提交的url地址', checkbox:true, li ...
- EasyUI实现异步加载tree(整合Struts2)
首先jsp页面有一ul用于展现Tree <ul id="mytree"></ul> 加载Tree <script type="text/ja ...
- EasyUI实现异步载入tree(整合Struts2)
首先jsp页面有一ul用于展现Tree <ul id="mytree"></ul> 载入Tree <script type="text/ja ...
- EasyUI 异步Tree
用etmvc framework返回json数据.创建HTML标记 <ul id="tt"></ul> 创建jQuery代码我们使用url属性来指向远程数据 ...
- EasyUI创建异步树形菜单和动态添加标签页tab
创建异步树形菜单 创建树形菜单的ul标签 <ul class="easyui-tree" id="treeMenu"> </ul> 写j ...
- easyui 进阶之tree的常见操作
前言 easyui是一种基于jQuery的用户界面插件集合,它为创建现代化,互动,JavaScript应用程序,提供必要的功能,完美支持HTML5网页的完整框架,节省网页开发的时间和规模.非常的简单易 ...
- PHP 使用编码树,生成easyui中的tree样式
生成树的时候,数据库中一般设计的都为无级数,即为:父子节点的树,例如:基本的数据表设计为: nodecode 节点编码 parentnodecode 父节点编码 nodename 节点名称 这样的形 ...
- 关于EasyUI中的Tree
2017年6月21日,天气阴.心情比较沉重. 近期由于毕设的事情,三周不写代码了.这周测试提交了一些BUG,于是开始着手处理,还真的是熟能生巧,三周的功夫就感觉有点生疏.其中有一个BUG就是角色对应的 ...
- java web前端easyui(layout+tree+双tabs)布局+树+2个选项卡tabs
1.列出要实现的样式: 2.实现的代码: 分三大部分: 1):页面主体部分:mian.vm <html> <head> <title>Ks UI</title ...
随机推荐
- ADO.NET 对象
(一)OleDbConnection 使用COM组件链接 (二)ADO.NET 对对数据库访问做了优化: 1.SqlConnection 用于建立和Sql Server服务器连接的类,表示打开数据库 ...
- 0008_Python变量
1.变量名:数字,字母,下划线组成,不能以数字开头,不能是Python内部关键字. 2.变量类型:数字,字符串,布尔值(首字母大写) 3.内存与变量: 4. = 赋值 == 比较 is == ...
- PopupWindow 从底部弹出窗体
第一步 : 初始化PopupWindow private void initPop() { if (view == null) { // 照片 view = View.inflate(Registe ...
- Lua中的点、冒号与self
Lua中的点.冒号与self,它们之间的关系主要体现在函数的定义与调用上,Lua在函数定义时可以用点也可以用冒号,如: function mytable.fun(p) return p end fun ...
- 【Hadoop】hiveserver2 不能启动端口 10000 开启服务的相关经验总结
转载来自http://blog.csdn.net/lsttoy/article/details/53490144. 这个问题困扰了我三天,各种查资料踩坑填坑的尝试,终于搞定了这个问题. 首先来品尝下喜 ...
- 25. CTF综合靶机渗透(17)
靶机链接 https://www.vulnhub.com/entry/the-ether-evilscience,212 运行环境 本靶机提供了VMware的镜像,从Vulnhub下载之后解压,运行v ...
- 一个使用MVC3+NHibernate “增删改查” 的项目(修正版)
前言: 谈到NHibernate大伙并不陌生,搞Java的更是清楚,Hibernate是一个目前应用的最广泛的开放源代码的对象关系映射框架,它对Java的JDBC(类似于ADO.Net)进行了非常 ...
- web.config中authorization下的location中的path的设置 (转)
项目下 有三个文件夹 A,B,C 验正方式是 Forms 验正 我要设置他们的访问权限为, A,匿名可访问 B,普通用户授权后才能访问 C,只允许管理员访问 <configuration> ...
- OpenStack基础知识-virtualenv工具详解
1.virtualenv介绍 virtualenv通过创建一个单独的虚拟化python运行环境,将我们所需的依赖安装进去,不同项目之间相互不干扰,从而解决不同的项目之间依赖不同,造成的冲突问题 2.安 ...
- 图片 响应式图像 Images Figures
响应式图像 Bootstrap中的图像响应 .img-fluid <img class="img-fluid" src="http://lorempixel.com ...