我是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。
答案 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