0

有人可以帮我吗?我正在尝试使用 JQGrid 使用 json 动态呈现列和数据。这些列似乎正在出现,但没有行数据。

以下是我从服务返回的 JSON:

{
    "total": 1,
    "page": 1,
    "records": 1,
    "rows": [
        {
            "id": 29291,
            "cell": [
                "Jim",
                "1",
                "2"
            ]
        }
    ],
    "columns": [
        "Name",
        "30/10/2012",
        "23/10/2012"
    ],
    "columnmodel": [
        {
            "name": "Name",
            "index": "Name",
            "align": "left",
            "width": 25
        },
        {
            "name": "30/10/2012",
            "index": "30/10/2012",
            "align": "left",
            "width": 25
        },
        {
            "name": "23/10/2012",
            "index": "23/10/2012",
            "align": "left",
            "width": 25
        }
    ]
}

我使用的javascript是:

$.ajax({
    type: "GET",
    url: "ListData?ID=1",
    datatype: "json",
    success: function(result){
        $("#customgrid").jqGrid({
                datatype: "json",
                colNames: result.columns,
                colModel: result.columnmodel,
                data: result.rows,
                width: 800,
                pager: "#customgridpager",
                viewrecords: true,
                sortable: true,
                gridview: true,
        });
    },
});

任何帮助将不胜感激。

4

1 回答 1

3

您只需对代码进行一些小的更改。您需要首先更改调用中的输入错误$.ajax:更改datatypedataType. 然后你需要改变datatype: "json"todatatype: "jsonstring"data: result.rowsto datastr: result。我建议您的完整代码如下:

$.ajax({
    type: "GET",
    url: "NiallGray.json",
    dataType: "json",
    success: function (result) {
        $("#customgrid").jqGrid({
            datatype: "jsonstring",
            colNames: result.columns,
            colModel: result.columnmodel,
            datastr: result,
            width: 800,
            pager: "#customgridpager",
            viewrecords: true,
            sortable: true,
            gridview: true,
            rowNum: 10000,
            height: "auto"
        });
    }
});

演示的修改版本在这里

在此处输入图像描述

于 2012-11-23T16:31:44.770 回答