請求書の明細を表示するために、jqgrid内に単純なサブグリッドを実装しようとしています。最終的にサブグリッドにデータを入力しましたが、各サブグリッドには同じラインアイテムのリストが表示されています。これは、実際にはデータセット内のすべてのエントリです。
これをデバッグする方法はよくわかりませんが、ここに私の考えられるアイデアのいくつかを示します-
jsonストアがGETクエリに応答する(応答しない)方法に問題がありますか?
サブグリッドデータ内のどのフィールドがいわば「外国の鍵」であるかをどこにも定義していないからです。
適切なデータのみ(すべてのラインアイテムではない)でjsonデータを指すようにsubGridUrlが必要ですか?
広告申込情報のJSONの例:order_idは注文のIDを指します
{
"total": 1,
"records": 6,
"rows": [
{
"description": "PART X",
"order_id": 2,
"qty": 5,
... more fields ...
"id": 1
},
... more ...
],
page: 1
}
メイングリッドアイテムのJSON:
{
"total": 1,
"records": 2,
"rows": [
{
"order_no": 2,
... more fields ...
"id": 2
},
... more ...
],
page:1
}
私のjqqridスクリプトの該当する部分:
jQuery("#mygrid").jqGrid({
... cosmetic stuff for main grid ...
url: "/my_json_url/",
datatype: "json",
colNames:['Order',...],
colModel:[
{name:'order_no', index:'order_no'},
...
],
jsonReader: {
repeatitems:false,
root: "rows",
page: "page",
total: "total",
records: "records",
cell: "",
id: "id",
subgrid: {root: "rows", cell:"", repeatitems: false}
},
prmNames: {subgridid: "order_id"},
subGrid: true,
subGridUrl: "/json_url/to_line_items/",
subGridModel: [{ name : ['qty','description'],
width: [100,100] }]
})navGrid(some options);