0

我是 jquery 新手,特别没有使用 jqGrid 及其子网格的经验。

我有简单的网格工作,但我真的需要一个子网格。我在网格中显示“联系人”,每个联系人都有相关的“操作”。我需要“动作”出现在子网格中。

以下是返回视图的 json,它具有“联系人”和关联的“操作”。“Contact”对象有一个“Action”对象列表。

{
 "total" : "10",
 "page" : "1",
 "records" : "78",
 "rows" : [ {
   "comment" : null,
   "givenName" : "Contact A",
   "familyName" : "A",
   "actionSet" : [ {
      "actionID" : 1,
      "actionDueDate" : "2012-12-08",
      "actionNote" : "Action 1"
     }, {
      "actionID" : 2,
      "actionDueDate" : "2012-12-08",
      "actionNote" : "Action 2"
   } ],
   "contactID" : 1,
   "streetName" : null,
   "city" : null,
   "streetAddress" : null,
   "postalCode" : null
}    ...]

}

Grid 有一个 url 可以获取 JSON,这很好。

jq("#grid").jqGrid({
url:'/getrecords.do',
datatype: 'json',
mtype: 'GET',

我感到困惑的地方是如何从现有的 JSON 中获取 subGrid 的数据(因为与每个“联系人”关联的“动作”在 json 中返回),而不是像..

subGridRowExpanded: function(subgrid_id, row_id) { 
 var subgrid_table_id, pager_id; 
 subgrid_table_id = subgrid_id+"_t"; 
 pager_id = "p_"+subgrid_table_id; 
 $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>"); 
 jQuery("#"+subgrid_table_id).jqGrid({ 
        url:"/getrecords.do"+row_id, 
        datatype: "xml", 

任何帮助将不胜感激。

关于阿多福。

4

1 回答 1

1

在对 jqGrid 的调用中,您需要传递选项“subGrid: true”以及带有不适当参数的“subGridModel”选项来进行映射。

jq("#grid").jqGrid({
    url:'/getrecords.do',
    datatype: 'json',
    mtype: 'GET',
    subGrid: true,
    subGridModel: {
        // Your Mapping Here
    }
.
.
.

取自这里:http ://www.trirand.com/jqgridwiki/doku.php?id=wiki:subgrid

于 2012-12-18T20:39:37.323 回答