0

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

再次感谢大家

4

1 回答 1

0

首先选项jsonReader: {repeatitems: false, id: "0"}不正确。在使用默认设置id的情况下,可以使用整数值。repeatitems: true在这种情况下,表示网格行的数据看起来像数组["1", "Cell2"],而不是具有命名属性的对象{"Cell1": 1, "Cell2": "stuff"}。您应该使用jsonReader: {repeatitems: false, id: "Cell1"}ifCell1包含要用作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"
    // }
}
于 2013-06-24T19:00:39.970 回答