Я пытался реализовать простую подсетку в jqgrid, чтобы показывать позиции для счета. Я наконец получил подсетки для заполнения, но каждая подсетка показывает один и тот же список позиций, который фактически является всеми записями в наборе данных.
Я не совсем уверен, как отладить это, но вот некоторые из моих потенциальных идей-
Это проблема с тем, как хранилище json отвечает (не) на запросы GET?
Это потому, что нигде я не определяю, какое поле в данных подсетки является, так сказать, «внешним ключом».
Нужно ли subGridUrl указывать на данные json только с соответствующими данными (не для каждой позиции)
Пример JSON для позиций:
order_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);