1

我一直在尝试在 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);
4

1 回答 1

1

我想URL下的代码"/json_url/to_line_items/"不使用idjqGrid发送的参数。如果用户展开子网格,该行的 rowid 将用作 的附加参数subGridUrl。顺便说一句,我不明白你为什么使用id其他网格的值作为order_id. 目前,该id=1参数将附加到 以subGridUrl扩展行的情况下order_id=10。是你想要的吗?

于 2011-11-29T11:18:12.433 回答