0

jqgrid 显示黑色表,即使它正确显示了记录数,我正在使用返回 json 字符串的 web 服务,我可以看到它从 ajax 调用返回的数据,但它没有显示在表中,我从 webservice 获得的 json 数据是:

Json:
 [{"profile_id":"413a75c9-03b4-4660-841b-2d213a2e2b95", "id":"313","first_name":"abc", "email":"abc@gmail.com"} , {"profile_id":"498fa726-0a34-4bbd-baab-6b4f2eb13bcf" , "id":"308" , "first_name":"xyz" , "email":"xyz@gmail.com"}]

    $.ajax({
            url:'rest/WebService/Getdata',
            dataType:'json', 
            success: function (data_response) {
                jqgrid(JSON.stringify(data_response));
            },
            error: function (error) {
                alert("error");
                alert(JSON.stringify(error));
            }
            });

    function jqgrid(jsondata){
        $("#list3").jqGrid({
        datatype:"jsonstring",
        datastr:jsondata,
        colNames:['Profile_id','id', 'Name', 'Email'],
        colModel:[
            {name:'Profile_id',index:'profile_id', width:500},
            {name:'id',index:'id', width:250},
            {name:'Name',index:'first_name', width:300},
            {name:'Email',index:'email', width:240} 
        ],
        jsonReader: {
            id: "1",
            cell: "",
            root: "root",
            page: "page",
            total: "total",
            records: "records",
            repeatitems: false
        },      
        emptyrecords: "Nothing to display",
        rowNum:10,
        rowList:[10,20,30],
        pager: $('#pager3'),
        viewrecords: true,
        sortorder: "desc",
        caption: "Data table"
    });
    }
4

1 回答 1

1

输入您使用的 JSON 数据

{
    [
        {
            "profile_id": "413a75c9-03b4-4660-841b-2d213a2e2b95",
            "id": "313",
            "first_name": "abc",
            "email": "abc@gmail.com"
        },
        {
            "user_profile_id": "498fa726-0a34-4bbd-baab-6b4f2eb13bcf",
            "id": "308",
            "first_name": "xyz",
            "email": "xyz@gmail.com"
        }
    ]
}

错了。您应该将其修复为此,例如通过使用数组作为答案

[
    {
        "profile_id": "413a75c9-03b4-4660-841b-2d213a2e2b95",
        "id": "313",
        "first_name": "abc",
        "email": "abc@gmail.com"
    },
    {
        "user_profile_id": "498fa726-0a34-4bbd-baab-6b4f2eb13bcf",
        "id": "308",
        "first_name": "xyz",
        "email": "xyz@gmail.com"
    }
]

或类似的东西

{
    "result": [
        {
            "profile_id": "413a75c9-03b4-4660-841b-2d213a2e2b95",
            "id": "313",
            "first_name": "abc",
            "email": "abc@gmail.com"
        },
        {
            "user_profile_id": "498fa726-0a34-4bbd-baab-6b4f2eb13bcf",
            "id": "308",
            "first_name": "xyz",
            "email": "xyz@gmail.com"
        }
    ]
}

我强烈建议您使用datatype: "json"而不是$.ajax手动使用。

如果您使用当前版本的 jqGrid(4.5.2),则可以删除jsonReader. jsonReader至少由于使用情况,您当前是错误的id: "1"。我建议您另外替换pager: $('#pager3')pager: '#pager3'添加gridview: true, autoencode: true, height: "auto"选项。

于 2013-06-24T12:36:19.553 回答