即使寻呼机显示结果,jqGrid也是空的

时间:2011-09-27 01:15:33

标签: javascript jquery json jqgrid

我正在从jqGrid 3.6.3升级 - > 4.1.2。

升级后网格始终显示为空,即使寻呼机显示正确的结果数(在这种情况下为6)。我可以看到正在检索JSON并且它是有效的。

没有显示错误,也没有任何内容写入javascript控制台。 如果我挂钩到loadComplete事件,它会触发 - 而grid.getDataIDs()返回一个空数组 - 就好像没有数据一样。

这是传输的JSON(使用JSONLint格式化)。它格式正确JSON&传递JSONLint验证:

{
    "pageCount": "1",
    "pageSize": "15",
    "pageNumber": "1",
    "itemCount": "6",
    "items": [
        {
            "Id": "1",
            "Name": "Administrator"
        },
        {
            "Id": "3",
            "Name": "asfasfassf"
        },
        {
            "Id": "6",
            "Name": "askjdhajksdk sh"
        },
        {
            "Id": "2",
            "Name": "fg"
        },
        {
            "Id": "5",
            "Name": "test"
        },
        {
            "Id": "4",
            "Name": "sa afasf saf"
        }
    ]
}

以下是我传递给jqGrid的jqGrid选项的相关部分:

{
    datatype: 'json',
    jsonReader: {
        root: 'items',
        id: '0',
        repeatitems: false,
        page: 'pageNumber',
        total: 'pageCount',
        records: 'itemCount'
    },
    mtype: 'POST',
    ...
};

我已经搜索了互联网的答案,但没有运气。有没有人有建议?!

请参阅下面我传递给jqGrid(选项)的选项对象的屏幕截图:

jqgrid options object

提前致谢!!!

2 个答案:

答案 0 :(得分:1)

cell: ''添加到您的jsonReader:

jsonReader: {
    root: 'items',
    id: '0',
    repeatitems: false,
    page: 'pageNumber',
    total: 'pageCount',
    records: 'itemCount',
    cell: ''
}

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data

默认情况下,jsonReader的cell选项设置为“cell”,这意味着您的数据需要格式化为:

{
    "pageCount": "1",
    "pageSize": "15",
    "pageNumber": "1",
    "itemCount": "6",
    "items": [
        {
            "Id": "1",
            "cell": ["Administrator"]
        },
        {
            "Id": "3",
            "cell": ["asfasfassf"]
        }
    ]
}

另外,请查看v3.6.4到v3.6.5的升级指南:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:upgrade_from_3.6.4_to_3.6.5

答案 1 :(得分:0)

我解决了这个问题&这个问题与JSON完全无关。

升级到jqGrid 4.1.2后,我发现我的网格表需要有一个id属性。不幸的是,我在桌面上设置了一个无效的ID(它偶然会有空格)。

一旦我修复了表的id属性,网格就开始正确渲染了。

感谢您的回答!