使用jQuery treeTable实现懒加载

4
我正在使用这个插件来获取树形表格: http://ludo.cubicphuse.nl/jquery-plugins/treeTable/doc/ 它的功能很强大,但我需要的一件事是延迟加载内容。它提供了一个回调函数,用于当文件夹被打开时,我使用它来获取新打开的分支并使用ajax调用填充数据。它可以很好地填充表格,但新增的行不符合应有的缩进结构。
在添加额外行后调用jQuery('#tree-table').treeTable({});会导致正确的缩进,但它也会折叠树形结构,对于深层路径的用户来说很烦人。
是否有其他人尝试过使用treeTable做类似的事情?
3个回答

2

0

看起来你需要使用以下之一:

expand :    Recursively show all node's children in a tree.
reveal :    Reveal a node by expanding all ancestors.

他们在API中提供的函数。一旦您添加了新的分支,请确保将其保存为引用,然后在重新初始化后调用一个函数以显示它(在这种情况下可能是reveal())。


0
var orgExpandNode = $.fn.jqGrid.expandNode, 
        orgCollapseNode = $.fn.jqGrid.collapseNode;

    $.jgrid.extend({
        expandNode : function(rc) {
            if(this.getNodeChildren(rc).length===0){
             $.ajax({     
                 url : "http://localhost:8080/xxxx",
                 success : function(data) {                    
                 var    result = data;                   
                 for(var i=0;i<result.length;i++){                      
                        grid.addChildNode(result[i].id,result[i].parent,result[i]); 
                 }
                 result=[];
                   }
             });   
            }
          return orgExpandNode.call(this, rc);
        },
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接