虽然项目中也用easyui 但是还没有用到楼主这个组件

解决方案 »

  1.   

    onBeforeExpand : function(row, param) {
    $(this).treegrid('options').url = 'svnlog/repository.do?pid=row.id
    },  
      

  2.   

    我试过了没用,你看效果还是全部加载了,所有节点都打开了
    你这不是废话吗?你的查询就是全部查出来的啊,你要先查父项目,在查子项目好吗?
    比如这样
    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);
             
        }
      

  3.   

    我也发现了,,懒羊羊大神,我比较菜,也没怎么接触过这个,卡这好久了,我后台方法只有这个啊,要不你加我QQ765039597,怎么感谢都行 
    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);
             
        }
      

  4.   

    哈哈你就从了吧。
    默认不加条件,所有最外面的父节点查询出来。
    然后点击 onBeforeExpand   的时候当前的id 传进去查询子节点。
      

  5.   

    谢邀!
    我曾经用过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,取出子树,以此递归。
      

  6.   

    没用过jQuery easyui,不过思路其实简单。点击节点的时候,把当前节点的id传到后台,查出它的下一级子节点,然后展示出来。初始化的时候就找顶级节点全部展示就ok
      

  7.   

    默认是当展开节点的时候,他会自动将该节点的ID传递到后台.
    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
    });
    } });})