虽然项目中也用easyui 但是还没有用到楼主这个组件
解决方案 »
- struts2 validation 验证开始必须小于结束 空字段如何处理
- 大家好,请问一下java中的自定义标签库允不允许这种情况(没有属性值的情况)存在<vfd:button id="aa" URL></vfd:button>
- 问个外行的问题<bean:write name="index"/>索引能从1开始嘛?
- 讨论:开发论坛,在开发阶段,一般需要应用哪些技术或措施来提升性能?
- applet显示不出来
- 程序没有问题,却出现如下提示,?请问这是什么原因呀?
- 如何更改tomcat配置文件,在线等!
- 请问谁知道sql server 2000 个人版哪有下载吗??
- 求
- 为什么字符串会是Null呢
- 在线等,刷新页面报数据库连接错误
- tinymce编辑器光标只有鼠标点击第一行才会聚焦,点击其他区域都不会。在线等,急!!!!
$(this).treegrid('options').url = 'svnlog/repository.do?pid=row.id
},
你这不是废话吗?你的查询就是全部查出来的啊,你要先查父项目,在查子项目好吗?
比如这样
public JsonView treeGrid(String pid){
Map param=new HashMap();
QueryParam qp=QueryParam.getInstance2("sys.queryResourceInfo", param ,-1, -1);
List<OrgVO> list=this.getBasBS().query(qp,pid);//这里作条件查询,pid为空就查父类,不空就查子类
return new JsonView(list);
}
public JsonView treeGrid(){
Map param=new HashMap();
QueryParam qp=QueryParam.getInstance2("sys.queryResourceInfo", param ,-1, -1);
List<OrgVO> list=this.getBasBS().query(qp);
return new JsonView(list);
}
默认不加条件,所有最外面的父节点查询出来。
然后点击 onBeforeExpand 的时候当前的id 传进去查询子节点。
我曾经用过easyui tree,因此我只能用tree组件来解答,原理应该是相通的。【服务端】:
表里好加上一个haschildren,表示是否有子数据
1、取数据
from ResourceVO where pid=? order by seq;
进入页面时,pid应该是null或0,这样就取到顶级树,当页面点击后,实际就传来了节点ID,这时pid=节点ID,就取出了子树,以此递归2、组织数据
[{
"id":1,
"text":name,
"path":"",
"...":"...",
"state":"closed",
},
{...}
]
state的值就是根据haschildren字段值来判断,当有子节点其值就是closed,表示等待用户点击打开。【客户端】$(document).ready(function(){
makeTree("subject");
});function makeTree(id){
$('#' + id).tree({
animate: true,
url: '/服务端地址/',
});
}
<ul id="subject"></ul>进入页面就执行makeTree()方法,这时请求远程时没有携带“id”参数过去,那么pid就为null,这样就取出了顶级树,当用户点击节点时,组件会自动发送ajax,并带上id过去,这时在服务端将接收的id值赋给pid,取出子树,以此递归。
js代码$(function() {
$('#treeGrid').treegrid(
{
url : contextpath + '/cityTree/cityTree.do',
idField : 'id',
treeField : 'text',
resizable : true,
collapsible : true,
height : $(document.body).height() - 2,
width : 200 - 2,
columns : [ [ {
field : 'id',
hidden : true,
sortable : false
}, {
field : 'text',
width : 190,
sortable : false
} ] ],
onClickCell : function(field,row) {
parent = row;
if(0<row.id){
$("#datagrid_list").datagrid('reload', {
cityid : row.id,
isdel : 0
});}
},
onExpand : function(row){//默认第一次展开会去访问后台,如果想每次展开都去请求加上onExpand事件
$("#datagrid_list").datagrid('reload', {
cityid : row.id,
isdel : 0
});
} });})