解决方案 »

  1.   

    返回的数据增加 "state":"closed",
    [{
    "id":1,
    "name":"C",
    "size":"",
    "date":"02/19/2010",,
    "state":"closed",,
    "children":[{
    "id":2,
    "name":"Program Files",
    "size":"120 MB",
    "date":"03/20/2010",
    "state":"closed",
    "children":[{
      

  2.   

    好像没效果,网上找了一个这个,怎么在datagrid里调用呢
    //判断是否有子集,若有子集将子集收起
    function TreeGridShow(data) {
         $(data).each(function (index, item) {
             if (!item.children) {
                 item.state = "open";
             }
             else {
                 item.state = "closed";
                 TreeGridShow(item.children);
             }
         });
         return data;
    }
      

  3.   

    不太明白,我这个只有在编辑的时候才会有数据返回
    $.post('${ctx}/sys/resource/edit', { id:node[0].id},
                   function(result) {                  
                      if (result) {                    
                        obj = result.obj;
                        
                        $('#pid').combotree({
                url : '${ctx}/sys/resource/allTree?flag=false',
                parentField : 'pid',
                lines : true,
                panelHeight : 'auto',
                value : obj.pid
                });
                        
                        $('#resourceForm').form('load', {
    'id' : obj.id,
    'name' : obj.name,
    'seq' : obj.seq,
    'systemtype' : obj.systemtype,
        'url' : obj.url,
        'icon' : obj.icon,
        'resourcetype' : obj.resourcetype,
        'state' : obj.state
    });
                        
                        $('#pid').combobox('setValue', obj.pid);
        
                        
                      } else {
                         $.messager.alert('错误','出错了','error');
                      }
                },'json');
      

  4.   

    treeGrid = $('#treeGrid').treegrid({
                url : '${ctx}/sys/resource/treeGrid',这个返回的数据要包含"state":"closed",这样这个节点的children节点就会默认隐藏起来,否则都是展开的
      

  5.   

    这个地址只是到后台去执行一个查询语句
    public JsonView dataGrid(){    
    QueryProvider queryProvider=new QueryProvider(this,"sys.queryResourceInfo","sys.queryResourceInfoSize");
         return queryProvider.queryPageData();
        }
    我后面有加个判断有没有子节点有就折叠
    //判断是否有子集,若有子集将子集收起
    function TreeGridShow(data) {
         $(data).each(function (index, item) {
             if (!item.children) {
                 item.state = "open";
             }
             else {
                 item.state = "closed";
                 TreeGridShow(item.children);
             }
         });
         return data;
    }
    然后在treegrid调用
    loadFilter:function(data){return TreeGridShow(data);},
    但是效果出来是这样的
      

  6.   

    什么版本的easyui。。确认你的数据结构是children格式的,而不是通过_parentId来控制的,自己先搞清楚数据结构。而且没有parentField这个配置吧。。只能是_parentId,显示成那样你的应该不是children结构的,并且搞错了控制关系的键名称
      

  7.   

    嗯,我用collapseAll这个方法搞定了 ,谢谢啊
    onLoadSuccess: function () {$('#treeGrid').treegrid('collapseAll')},