jqGrid is empty


jqGrid is empty

我正在构建一个小型应用程序。我有一个PHP代码,里面创建了jqGrid,还有一个servlet,它发送一个内部有JSON的数组的字符串

字符串如下:

[
    {"id":1,"firstName":"Amishay","lastName":"Vaturi"},
    {"id":2,"firstName":"Amir","lastName":"Bilu"},
    {"id":3,"firstName":"Michael","lastName":"Keidar"},
    {"id":4,"firstName":"Mika","lastName":"Spivak"},
    {"id":5,"firstName":"Ksenia","lastName":"Mosorov"},
    {"id":6,"firstName":"Rose","lastName":"Wahlem"}
]

问题是我在我制作的网格中看不到它。。。网格代码是这样的:

$("#jqGrid").jqGrid({
    url: 'http://10.0.0.4:8080/api/students/all',
    mtype: "GET",
    datatype: "jsonstring",
    colModel: [
 { label: 'ID', name: 'id', key: true, width: 75 , height: 50 },
 { label: 'First Name', name: 'firstName', width: 150 , height: 50},
 { label: 'Last Name', name: 'lastName', width: 150 , height: 50}
    ],
    viewrecords: true,
    width: 780,
    height: 250,
    rowNum: 20,
    pager: "#jqGridPager"
});

我在这里和整个网络中寻找答案。我发现我可能需要从服务器发送一个不同的json。也许有更多的信息,比如记录、页数等。我还看到我可能需要在jqGrid属性中声明一个json读取器。我两者都做了。。还是没用。就好像我没有找到一个能100%解决我问题的解决方案。我会很高兴得到一个有效的答案(:

非常感谢!

代码中的错误是使用了datatype: "jsonstring"而不是

datatype: "json"

顺便说一下,您不需要创建隐藏列id,因为jqGrid将id属性的值分配给行的id属性(<tr>元素)。此外,我建议您使用loadonce: true选项,因为您使用的数据格式并不意味着服务器端分页。

我创建了演示https://jsfiddle.net/OlegKi/oc7uuh9q/,它使用您的数据来证明所有这些都应该起作用。我只是稍微修改了一下您的代码,以使用我开发的免费jqGrid中实现的新功能,jqGrid是jqGrid的分支。