jqgrid读入嵌入的json对象

时间:2013-06-21 17:12:22

标签: json date object jqgrid

嘿伙计们所以我目前正在使用带有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"
}

再次感谢大家

1 个答案:

答案 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"
    // }
}