使用JSON数据时,jqGrid初始化为空

时间:2011-06-23 11:16:05

标签: javascript jquery json jqgrid treegrid

我一直潜伏在各种论坛上,并阅读与此问题相关的几个stackoverflow问题,但我不能为我的生活找出错误。

我尝试使用以下代码生成jqGrid treeGrid:

      jQuery("#structureBuilderTable").jqGrid({
        url: 'tree.json',
        datatype:'json',
        mtype:'GET',
        colNames: ["ID", "Description", "Total"],
        colModel: [
        {name:'id', index:'id', width: 1, hidden: true, key: true},
        {name:'desc', index:'desc', hidden: false, sortable: true},
        {name:'num', index:'num', hidden: false, sortable: true}
        ],
        treeGridModel:'adjacency',
        height:'auto',
        width:'500',
        pager:"#ptreegrid",
        treeGrid: true,
        ExpandColumn:'desc',
        ExpandColClick: true,
        caption:"TreeGrid Test"
      });

这是我的.json文件(例如用途):

{
    "total": "1",
    "page": "1",
    "records": "2",
    "rows": [
           {"id": "1", "cell": ["1", "Super Item", "300", "0", "null", "false", "false"]},
           {"id": "2", "cell": ["2", "Item 1", "100", "1", "1", "false", "false"]},
           {"id": "3", "cell": ["3", "Sub Item 1", "50", "2", "2", "true", "true"]},
           {"id": "4", "cell": ["4", "Sub Item 2", "25", "2", "2", "false", "false"]},
           {"id": "5", "cell": ["5", "Sub-sub Item 1", "25", "3", "4", "true", "true"]},
           {"id": "6", "cell": ["6", "Sub Item 3", "25", "2", "2", "true", "true"]},
           {"id": "7", "cell": ["7", "Item 2", "200", "1", "1", "false", "false"]},
           {"id": "8", "cell": ["8", "Sub Item 1", "100", "2", "7", "false", "false"]},
           {"id": "9", "cell": ["9", "Sub-sub Item 1", "50", "3", "8", "true", "true"]},
           {"id": "10", "cell": ["10", "Sub-sub Item 2", "50", "3", "8", "true", "true"]},
           {"id": "11", "cell": ["11", "Sub Item 2", "100", "2", "7", "true", "true"]}
    ]
}

(这几乎是我在网上找到的指南的直接副本)。

现在,生成了网格,但它不包含任何数据。 javascript文件与'tree.json'在同一目录中,但不知何故它似乎找不到它。我使用以下内容进行调试:

  

loadError:function(xhr,status,error){alert(status + error)}

这是我得到的警报:

  

找不到错误

任何帮助都会非常附近。

1 个答案:

答案 0 :(得分:0)

我希望基于您的JSON数据和jqGrid创建的the demo将帮助您在代码中找到错误。可能你只是忘了在jQuery(function(){/**/});内放置创建网格的代码。

只有一个提示:如果您希望某些树节点将像我的演示中那样展开,您将不仅要设置最后一列中的“true”值(“扩展”隐藏列),还要添加树网格的隐藏“已加载”列的“true”值。有关详细信息,请参阅herehere