代码之家  ›  专栏  ›  技术社区  ›  Raul Agrait

jQuery jqGrid TreeGrid运行不正常

  •  1
  • Raul Agrait  · 技术社区  · 16 年前

    jqGrid TreeGrid 使用本地数据。如果您注释掉treeGrid和ExpandColumn属性,这个方法就像普通的网格一样工作得很好,但是一旦您添加这些属性使其成为树网格,它就不会创建树网格(它只是创建一个“普通”网格),并且它不再正确排序。

    我确保在jqGrid下载期间下载了正确的TreeGrid文件。

    jQuery(function(){
    
      var gridOptions = {
        datatype: "local",
        height: 250,
        colNames: ['Name', 'Type', 'Last Modified On', 'Last Modified By'],
        colModel: [{name: 'name', index: 'name', width: 200, sorttype: 'text'},
               {name: 'type', index: 'type', width: 200, sorttype: 'text'},
               {name: 'modifiedon', index: 'modifiedon', width: 200, sorttype: 'date'},
               {name: 'modifiedby', index: 'modifiedby', width: 200, sorttype: 'text'}],
        treeGrid: true,
        ExpandColumn: 'name',
        caption: "My Grid"
    };
    
        jQuery("#treeGrid").jqGrid(gridOptions);
    
    var gridData = [
        {name: "My File", type: "My File Type", modifiedon: "03/10/2010", modifiedby"Strong Sad", lft: "1", rgt: "8", level: "0"},
        {name: "One of Everything", type: "Word Document", modifiedon: "02/12/2009", modifiedby: "Strong Bad", lft: "2", rgt: "5", level: "0"},
        {name: "My Presentation", type: "PowerPoint", modifiedon: "01/23/2009", modifiedby: "The Cheat", lft: "3", rgt: "4", level: "0"}
    ];
    
    for (var i = 0; i < gridData.length; i++) {
        jQuery("#treeGrid").jqGrid('addRowData', i + 1, gridData[i]);
    }
    
    });
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   jitter    16 年前

    TreeGrid文档中还有其他警告,其中大部分似乎适用于您尝试执行的操作。

    • 当前不支持使用addRowData添加节点。
    • 当前不支持添加节点。

    似乎这三个警告都适用于你。你用 addRowData 您尝试将节点添加到“空”树,并尝试使用本地数据而不是“从服务器返回的数据”。

    Treegrid real world example (可在左侧“3.5版中的新版本”下找到)


    链接到的TreeGrid文档说明:

    为了使用本模块,您应该 下载时标记Treegrid src中的grid.treegrid.js 目录。

    是你干的吗?jqGrid的js文件中是否包含TreeGrid的相关js文件?

    在jsbin上快速复制/粘贴代码对我很有用

    http://jsbin.com/afuza/edit (然后点击预览按钮)