这是我的代码示例。我遗漏了colNames和colModel,因为我知道这不是问题所在。我只是想知道是否有任何方法可以使jggrid更快地加载子网格。当该网格具有> 100条记录,相当慢。如果我删除子网格代码并在网格上放置gridview:true,它加载sooooooooooooooo要快得多,但显然,我不能有gridview:true和subgrid。有什么建议吗?
$(scheduleGridName).jqGrid({
url: dataURL,
datatype: "json",
mtype: 'GET',
colNames: [...],
colModel: [...],
height: "auto",
width: '100%',
rowNum: 2000,
loadonce: true,
jsonReader: {
root: "SearchResults",
records: "NumberOfResults",
repeatitems: false
},
viewrecords: true,
subGrid: true,
subGridRowExpanded: getSubgrid
});
答案 0 :(得分:0)
你有rowNum:2000。因此,每个记录加上一个子网格。尝试设置rowNum:10或您找到的加载速度足够快的数字。如果这不起作用,那么考虑一种不同的方式来显示子网格。您可以创建一个“操作”列,其中包含指向另一个网格的链接以深入了解详细信息。
此代码示例将html添加到“Action”列。
gridComplete: function () {
var ids = jQuery("#grid").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var cl = ids[i];
be = "<a href='../Company/EditUser?contactID=" + cl + "'>Edit</a></xsl:text>";
jQuery("#grid").jqGrid('setRowData', ids[i], {
Action: be
});
}
}
});