从现有数据中获取subGrid数据

时间:2012-12-18 20:20:38

标签: javascript jquery json jqgrid subgrid

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

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

以下是回到视图的json,它具有关联“actions”的“联系人”。 “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中返回与每个“contact”关联的“actions”),而不是像...那样进行另一个url调用。 p>

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", 

非常感谢任何帮助。

问候 Adofo。

1 个答案:

答案 0 :(得分:1)

在你对jqGrid的调用中,你需要传递选项&#34; subGrid:true&#34;以及&#34; subGridModel&#34;选项与不适当的参数进行映射。

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