Java-jquery easyui tree 怎么easyui动态生成列 求给个例子

2014年12月 扩充话题大版内专家分月排行榜第二
2014年12月 扩充话题大版内专家分月排行榜第二
2016年1月 Java大版内专家分月排行榜第二2015年12月 Java大版内专家分月排行榜第二2015年8月 Java大版内专家分月排行榜第二2015年3月 Java大版内专家分月排行榜第二2015年1月 Java大版内专家分月排行榜第二2014年12月 Java大版内专家分月排行榜第二2014年11月 Java大版内专家分月排行榜第二2014年6月 Java大版内专家分月排行榜第二2014年4月 Java大版内专家分月排行榜第二2014年1月 Java大版内专家分月排行榜第二2013年11月 Java大版内专家分月排行榜第二
2015年9月 Java大版内专家分月排行榜第三2015年6月 Java大版内专家分月排行榜第三2015年5月 Java大版内专家分月排行榜第三2015年2月 Java大版内专家分月排行榜第三2014年3月 Java大版内专家分月排行榜第三2013年12月 Java大版内专家分月排行榜第三
2016年1月 Java大版内专家分月排行榜第二2015年12月 Java大版内专家分月排行榜第二2015年8月 Java大版内专家分月排行榜第二2015年3月 Java大版内专家分月排行榜第二2015年1月 Java大版内专家分月排行榜第二2014年12月 Java大版内专家分月排行榜第二2014年11月 Java大版内专家分月排行榜第二2014年6月 Java大版内专家分月排行榜第二2014年4月 Java大版内专家分月排行榜第二2014年1月 Java大版内专家分月排行榜第二2013年11月 Java大版内专家分月排行榜第二
2015年9月 Java大版内专家分月排行榜第三2015年6月 Java大版内专家分月排行榜第三2015年5月 Java大版内专家分月排行榜第三2015年2月 Java大版内专家分月排行榜第三2014年3月 Java大版内专家分月排行榜第三2013年12月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。jquery easyui treegrid reload问题
$('#tt').treegrid('reload',&2); //&reload&the&row&which&value&is&equals&to&2
============
17:04&&&[]
$('#tt').treegrid('reload',&2); //&reload&the&row&which&value&is&equals&to&2
============
19:46&&&[]
//重新加载
function&reloadGrid(){
$(gId).treegrid('reload');
回复讨论(解决方案)
三级目录的显示源于你的数据源&&nbsp
17:05&&&[]
照着jquery&easyui&1.32的demo做了个动态加载的treegrid发现第一个节点和其缩进竟然一样。
&&&[img=http://][/img
11:30&&&[]
如题,不管是否选中,返回treegrid中所有节点&==&先selectAll再getSelections得到的。我想知道有没有这样一个方法,在线等
回复讨论(解决方案)
先调用getRoots&方法,再逐级调用getChildren方法获取吧。
04:09&&&[]
;&&&&&&&&&&&&&&$('#Gride1').treegrid('reload',&node.HUJIBH); &&nbsp
02:15&&&[]
后台有没有其他办法构造出EasyUI中treegrid的数据格式啊?
那就看你怎么把他拼出来了额..
zTree比较方便...easyui的功能比较少
或者你就返回json字符串吧,不要直接让框架给你转实体类,自己手动转
我是手动遍历list。转成json对象。在转成字符串传到前台
17:20&&&[]
今天做一个treegrid的时候,分页是显示出来了,但是数据没有显示,求解!
$(function(){ $('#test').treegrid({ &&&&&&&&width:1024, &&nbsp
-14:18&&&[]
权限系统的菜单管理采用了EasyUI的TreeGrid,实现了菜单管理的新增、删除、修改、初始化、拖拽改变顺序或层级等,贴出代码: 1、view页面
&link rel=&stylesheet& type=&text/css& href=&quot
14:41&&&[]
如题,前提条件是:树是动态加载的。
描述: 如果我点击展开了一条树,然后不选择任何行进行添加,还是会刷新我展开的这个节点。
问题: 如何在加载树后,清除缓存
回复讨论(解决方案)
不要用url加载数据,可以先把数据加载到变量,再通过变量绑定。
不要用url加载数据
11:30&&&[]
怎么刷新父节点为子节点啊
treegrid继承的datagrid&清理选择的方法一样吧
那你知不知道easyui&treegrid子节点删除后怎么刷新父节点为子节点啊
没试过……试试reload或者refresh
refresh id Refresh&nbsp
10:11&&&[]
请教下easyui的高手,我用treegrid做个表,后台取数据总会有id冲突,比如,做一个角色列表,超级管理员是个树,管理员也是个树,超级管理员和管理员下面可能都有“用户列表”这个权限,而“用户列表”在资源表里的id是一定的,这就会出现冲突了。因为只是展现不做操作,我试着把id处理下,比如把
-16:41&&&[]RT:后台返回 jsonARRAY 对象
easyui TREE
到底怎么接受这个数据呢?!!!求实例!
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
jQuery EasyUI的官方文档上有实际的代码。$("#your_tree_id").tree({data: [{},{}]});
关键是你的数组要遵照jQuery EasyUI的格式:
"text": "Node 1",
"state": "closed",
"children": [{
"text": "Node 11"
"text": "Node 12"
"text": "Node 2",
"state": "closed"
请移步官方文档:/documentation/index.php
只要返回json对象就可以了,我用的fastjson。
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (6557) 次这几天因为工作需要,要做一个支持无限级的菜单。
我也是菜鸟一只,能想到的东西不多,所以用了Easy UI的tree组件。
不得不说,easyui确实很强大。
&因为是无限级菜单,数据量可能有点大,所以考虑采用异步加载。
但是因为后台默认传来的数据是 一个实体,所以又在后台进行了JSON字符串拼接。
最后,在网上找了N多代码,然后又去问了好几个群里的网友,终于搞出来这个小东西。
&&&一、HTML部分代码
&div id=&categoryChooseDiv& title=&请选择分类&
style=&width: 650 height: 300&&
&ul id=&MyTree&&&/ul&
html部分很简单,只要放一个ul就可以了。
二、JS部分代码
function showCategory(){
$('#MyTree').tree({
checkbox: false,
url: '/category/getCategorys.java?Id=0',
onBeforeExpand:function(node,param){
$('#MyTree').tree('options').url = &/category/getCategorys.java?Id=& + node.
onClick:function(node){
var state=node.
if(!state){
//判断当前选中的节点是否为根节点
currentId=node.
$(&#chooseOk&).attr( &disabled& , false );
//如果为根节点 则OK按钮可用
$(&#chooseOk&).attr( &disabled& , true );
//如果不为根节点 则OK按钮不可用
&&&& 最后几句代码是因为我这个项目需要,只有选择到最下级节点的时候,才运行点击“确定”。否则不允许。
&&&&&当用户点击确定的时候,需要获取 当前用户选中节点 的所有父节点
var nodes=[];
//定义数组用来存放各个节点名称
var node =$(&#MyTree&).tree(&getSelected&); //当前选中节点
nodes.push(node.text);
//首先放入当前节点
var pnode = $('#MyTree').tree('getParent',node.target);
//获取当前节点的父节点
while(pnode!=null){
nodes.push(pnode.text);
//依次放入各个父节点,直到根节点为止
pnode = $('#MyTree').tree('getParent',pnode.target);
nodes.reverse();
//数组元素倒序排序
$.each(nodes,function(){
//循环取值
var html=this;
$(&#inCategoryDiv&).html( $(&#inCategoryDiv&).html() + html + &&&& );
&& 其实,主要问题在于后台对数据的处理,即如何能够转化为 easyui tree才可以识别的JSON数据。
三、后台代码(Java)
public ResponseEntity&String& findBy(Integer Id ) {
List&Category& categorys = getcategorys(Id );
String ss=&&;
ss+=&[&;
for( Category category : categorys )
ss+=&{&;
//ss += &\&id\&: \&&+category.getId()+&\&,\&text\&: \&&+category.getName().toString()+&\&,\&iconCls\&: \&icon-ok\&,\&state\&: \&closed\&&;;
List&Category& cs = getcategorys( category.getId() );
//判断当前节点是否还有子节点
if(cs.size()==0){ //没有子节点
设置 state 为空
ss+=String.format(&\&id\&: \&%s\&, \&text\&: \&%s\&, \&iconCls\&: \&\&, \&state\&: \&\&&, category.getId() , category.getName());
// 还有子节点 设置 state为closed
ss+=String.format(&\&id\&: \&%s\&, \&text\&: \&%s\&, \&iconCls\&: \&\&, \&state\&: \&closed\&&, category.getId() , category.getName());
ss+=&},&;
ss=ss.substring(0, ss.length() - 1);
ss+=&]&;
return super.responseString(ss);
//字符编码转换
&&& 大致一个流程就是前台传来ID,然后获取到实体对象,然后对实体进行循环,然后进行字符串处理
  这里设置state的意义主要在于让 easyui 的tree可以知道当前节点是否为最低级节点,然后在前面显示不同的图标。
&&&& 就是这个小东西,折腾了我好几天,呵呵,因为俺太笨了。不过还好最后搞懂了,也理解了很多东西。
& && 以前一直觉得JSON这东西很神秘,现在觉得它还是有规律的。
&&&& 使用easyui tree的重点之一,就是对JSON数据的处理,有两种方式可以实现:第一就是使用String的format方法。这个大家可以去网上参考一下相关的API等等,我第一次写错了,字符串的占位符应该是 %s& 我写成了 {0} 找了半天,才知道问题所在。 第二种方式,就是我上面注释掉的那一行,直接使用字符串拼接。
&&&& 然后上面获取当前节点的所有父节点的时候,又纠结了半天,去网上找了很多代码,都不能用,最后还是自己想了一招,才得以解决。
优点:可以使用异步加载,支持无限级。
缺点:太繁琐,对后台的数据格式要求过高。
&&& 刚刚老大又发话了,让我把它给做成一组件。。在其他地方也可以调用的那种,我觉得目前的难题是:如何用JS把后台传来的 实体类型的 list转换成easyui tree可以识别的JSON数据? 不知道各位有没有什么好的办法,希望可以指点一下小弟,谢谢!
&& PS:无限极菜单,群里有位网友说是 无限级也最大能支持 65535,不知道是不是这样子的,希望有高手能解答一下我的这个疑惑:无限极菜单到底能支持多少级?
本文已收录于以下专栏:
相关文章推荐
在页面上,使用combotree控件的时候,由于节点是异步加载的,人为点击展开节点,才会加载下层子节点。当combotree加载数值的时候,如果是根节点,则可以展示正常的节点文本在combotree文...
关于异步树以前用过:Struct2 + JQuery Ztree,最新项目需要用 SpringMVC + EasyUI 生成异步树,玩了一下,特将解决方法汇报如下:
       首先,使用是Easy...
项目中,接口之间传递数据是经常的,不管是项目内部接口传递数据,还是与外部系统之间接口传递数据,通过json都会较为容易一些,至于什么是json,自己goodle,百度吧。在html中,使用ajax请求...
用javascript和java两种方式,生成EasyUI Tree所需格式的Json数据
最近在做组织部考核的项目,我们利用jQuery EasyUI 框架进行页面的布局,分配给我的第一个任务是用树形菜单在页面上以一个树形结构显示分层数据,我们就来学习下这些树形结构是如何显示的。...
最近花了很多时间,研究Spring MVC 3.2.2 +easyui,实现了这个,前端页面实现个系统就很简单了。
Spring MVC 返回JSON数据的方法
1). 直接 PrintWrite...
以下代码实现了树形结构的增,删,改,并且存储到了数据库1、前端代码 indextree.jsp
这是基于1.2.6的tree新增的loadFilter功能的一个扩展。大家都喜欢ztree的简单数据结构(扁平pid结构数据集,也就是id,pid形式),于是1.2.6有了loadFilter之后,我...
1.JsonTreeHelper.java
2.调用getTreeJsonStr方法
* @version V1.0
package com.xinleju.er...
他的最新文章
讲师:王哲涵
讲师:王渊命
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)博客分类:
前面一直在讲EasyUI的用法,我也是最近在用这个东西,觉得这个组件里面还是有很多问题,很多的不足。比如,如果你加载一个带有弹出框的表格页面,如果加载速度很慢的话会出现下面的效果:
即很长一段时间会出现窗口没有初始化的效果,等一段时间后就会初始化完成,就没有这个画面,但是如果网速很慢的话会出现想当一段时间的白色,那么如果用户看来,可能会以为效果出了问题。
我们如何来解决这个问题呢?最好的方式是加上遮罩层,等待效果。可是我并不想去在找个遮罩组件了,所以我自己从easyUI中提取了等待效果的遮罩。如下图:
这一个js,可以导入到页面中即可。不用再其他部分添加任何代码.js代码如下:
jgxLoader.js
页面加载等待页面
* @author gxjiang
var height = window.screen.height-250;
var width = window.screen.
var leftW = 300;
if(width&1200){
leftW = 500;
}else if(width&1000){
leftW = 350;
leftW = 100;
var _html = "&div id='loading' style='position:left:0;width:100%;height:"+height+"top:0;background:#E0ECFF;opacity:0.8;filter:alpha(opacity=80);'&\
&div style='position: cursor1:left:"+leftW+"top:200width:height:16padding:12px 5px 10px 30\
background:#fff url(/wlzl/js/themes/default/images/pagination_loading.gif) no-repeat scroll 5px 10border:2px solid #color:#000;'&\
正在加载,请等待...\
&/div&&/div&";
window.onload = function(){
var _mask = document.getElementById('loading');
_mask.parentNode.removeChild(_mask);
document.write(_html);
注意这里的等待效果图 pagination_loading.gif 的位置要指正确。
将这个js导入到页面的header中最为最后一个导入的js,只有页面未加载完成就会有效果。可以试试。
加载方式如下:
不需要在其他地方加任何代码即可实现。
浏览 86472
无语,
你说的这个家在直接用
$.messager.progress({
title:'请稍后',
msg:'页面加载中...'
});
啊,页面加载完后 关闭进度条即可啊。
说的很对
你麻烦不??我是这么做的:
$("&div class=\"datagrid-mask\"&&/div&").css({display:"block",width:"100%",height:$(window).height()}).appendTo("body");
$("&div class=\"datagrid-mask-msg\"&&/div&").html("正在处理,请稍候。。。").appendTo("body").css({display:"block",left:($(document.body).outerWidth(true) - 190) / 2,top:($(window).height() - 45) / 2});
这就是easyui源码里的处理方式。
看来这位仁兄研究的很有一套啊!佩服佩服。
浏览: 187210 次
来自: 合肥
可以根据屏幕变化等比例缩小或变大吗?
这个是配置XML文件的,那么注解的struct2应该怎么写注解 ...
好文要mark
胖子威武!}

我要回帖

更多关于 easyui tree 动态添加 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信