嘿伙计们所以我目前正在使用带有json数据的jqgrid,它目前读得很好,但是我在使嵌入对象读入网格时遇到了一些困难。所以我的json数据看起来像这样:
{"total":1,"page":"1","records":1,"rows":[{"Cell1":1,"Cell2":"stuff","Cell3":{"date":"2013-06-02 10:56:00","timezone_type":3,"timezone":"UTC"}}]}
有没有人知道如何让jqgrid在Cell3中读取一个数据并将其解释为只显示日期和时间?
我目前的json读者如下:
jsonReader : {
root:"rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
id: "0"
}
再次感谢大家
答案 0 :(得分:0)
首先,选项jsonReader: {repeatitems: false, id: "0"}
不正确。在使用默认id
设置的情况下,可以使用repeatitems: true
的整数值。在表示网格行的数据看起来像数组["1", "Cell2"]
而不是具有命名属性{"Cell1": 1, "Cell2": "stuff"}
的对象的情况下。如果jsonReader: {repeatitems: false, id: "Cell1"}
包含您要用作网格行的唯一Cell1
的值,则应使用id
。
现在回到你的主要问题。我建议你改变数据格式
{
"total": 1,
"page": "1",
"records": 1,
"rows": [
{
"Cell1": 1,
"Cell2": "stuff",
"Cell3": {
"date": "2013-06-02 10:56:00",
"timezone_type": 3,
"timezone": "UTC"
}
}
]
}
到
{
"total": 1,
"page": "1",
"records": 1,
"rows": [
{
"Cell1": 1,
"Cell2": "stuff"
}
],
"userdata": {
"1": {
"date": "2013-06-02 10:56:00",
"timezone_type": 3,
"timezone": "UTC"
}
}
}
我想评论我的建议,以便其他用户也可以清楚。列Cell1
包含id
。我建议userdata
的结构是来自rowid的地图(Cell1
的值)和您最初需要保存为"Cell3"
的自定义信息。
如果您需要代码中的某个位置具有"Cell3"
值,则代码将如下所示
onSelectRow: function (rowid) {
var cell3 = $(this).jqGrid("getGridParam", "userData")[rowid];
// now you can use cell3 which coniains the object like
// {
// "date": "2013-06-02 10:56:00",
// "timezone_type": 3,
// "timezone": "UTC"
// }
}