我一直在尝试在jqgrid中实现一个简单的子网格,以显示发票的行项。我终于得到了要填充的子网格,但每个子网格都显示了相同的行项列表,这实际上是数据集中的所有条目。
我不太确定如何调试,但这里是我的一些潜在的想法-
-
json存储(不)响应GET查询的方式有问题吗?
-
是因为我没有定义子网格数据中的哪个字段是"外键"吗?
-
我需要subGridUrl指向json数据只有适当的数据(不是每一行项)
行项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);
我认为URL "/json_url/to_line_items/"
下的代码不使用jqGrid发送的id
参数。当用户扩展子网格时,行宽度将作为subGridUrl
的附加参数。顺便说一句,我不明白为什么你使用网格的id
值作为order_id
。目前,如果用order_id=10
扩展行,id=1
参数将被附加到subGridUrl
。这是你想要的吗?