1
我一直在嘗試在jqgrid中實現一個簡單的子網格以顯示發票的行項目。我終於得到了子網格,但每個子網格都顯示了相同的行項目列表,這實際上是數據集中的所有條目。jqgrid子網每個顯示json數據中的所有項目
我不太清楚如何調試這一點,但這裏是我的一些潛在ideas-
的是它與JSON店的方式(不)響應GET查詢的問題嗎?
是不是因爲我無處可以定義子網格數據中的哪個字段是「foriegn key」可以這麼說。
我需要的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腳本plicable部分:
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);
我可以在firebug中看到,當我單擊展開時的調用發送主行的id作爲GET請求'?id = value'。在我看來,這隻需要'?order_id = value',但我不知道如何更改參數名稱。在jsonReader下的子網格參數中將'id'更改爲'order_id'似乎沒有幫助。 –
@j_syk:要更改'id'名稱,您應該使用jqGrid參數'prmNames:{subgridid:「order_id」}' – Oleg
確實將GET請求更改爲正確的參數,但數據不是過濾。我以前沒有在我的json商店遇到過這個問題......讓我捅一下 –