首先选项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"
// }
}