まず、選択肢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"
// }
}