【问题标题】:Lazy loading with jQuery treeTable使用 jQuery treeTable 延迟加载
【发布时间】:2012-02-15 15:32:36
【问题描述】:

我正在使用这个插件来获取树视图表:http://ludo.cubicphuse.nl/jquery-plugins/treeTable/doc/

效果很好,除了我需要的一件事,那就是延迟加载内容。

它确实为打开文件夹提供了回调功能,然后我用它来获取新打开的分支并使用 ajax 调用来填充数据。它可以很好地填充表格,但添加的行不符合他们应该的缩进结构。

调用 jQuery('#tree-table').treeTable({});在添加额外的行之后会产生正确的缩进,但它也会折叠树,这对于用户导航很深的路径是很烦人的。

有没有其他人尝试过用 treeTable 做类似的事情?

【问题讨论】:

    标签: jquery treetable


    【解决方案1】:

    GitHub 上有一个关于延迟加载的问题,可能会有所帮助:https://github.com/ludo/jquery-treetable/issues/24

    【讨论】:

      【解决方案2】:

      看起来你会想要使用任何一个:

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

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

      【讨论】:

        【解决方案3】:
        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);
                },
            });
        

        【讨论】:

          猜你喜欢
          • 2014-08-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-25
          相关资源
          最近更新 更多