【发布时间】:2014-07-29 19:29:11
【问题描述】:
我有下面的 json,我想要显示在我的 jqgrid 上。我有以下 jsonReader
jsonReader : {
repeatitems: false,
root: "abc",
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
},
列模型:
colModel:[
{name:'num'},
{name:'seq'},
{name:'status'},
{name:'transTime'},
{name:'sd'},
{name:'total'},
{name:'xys'}
],
Json:
{
"xys": 3,
"abc": [
{
"time": null,
"num": "1234",
"seq": 2,
"status": "X",
"transTime": null
},
{
"time": null,
"num": "4567",
"seq": 1,
"status": "Y",
"transTime": null
}
],
"sd": "7895",
"total": 5
}
只有 num、seq 和 status 被填充了数据,而不是 transTime、sd、total 和 xys
有什么想法和建议吗?
【问题讨论】:
-
sd、total和xys不是abc数组的属性。您想如何在网格中显示项目?在相应列的每一行中重复?transTime为空,不会显示为“null”字符串,只是显示为空字符串“”。 -
感谢奥列格!我想显示该 JSON 中返回的所有数据。我想在网格上显示 xys、sd、total 和 abc 数组。我了解 time 和 transTime 为空,因此它们不会显示。我希望能够显示 xys、sd 和 total 以及 abc 数组
-
最简单的方法是将
sd、total和xys属性作为abc项目的属性。您还可以将"transTime": null更改为"transTime": "null"。您可以在服务器端执行此操作吗?如果没有,则可以在beforeProcessing回调中在客户端更改输入数据。如果您遇到实施问题,我可以向您展示如何做到这一点。 -
感谢奥列格!你能告诉我怎么做吗?从服务器返回的 JSON 是固定的,我无法进行更改。
标签: jquery ajax json jqgrid jsonreader