1

我在使用本地数据构建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]);
}

});
4

1 回答 1

2

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

  • 目前不支持使用 addRowData 添加节点。
  • 目前不支持添加节点。
  • 目前 jqGrid 只能处理从服务器返回的数据。

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

所以我建议您构建您的样本以匹配Treegrid 现实世界的示例(可以在左侧的“3.5 版中的新功能”下找到)


您链接到的 TreeGrid 文档说明:

为了使用这个模块,您应该在下载网格时标记 Treegrid。有关详细信息,请参阅下载。对于开发人员 - 这是 src 目录中的 grid.treegrid.js。

你做了这个了吗?TreeGrid 的相关 js 文件是否包含在 jqGrid 的 js 文件中?

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

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

于 2010-03-24T01:09:02.327 回答