即使一切看起来都很好,我在标题上也会收到此错误:
<table id="kpi-grid"></table>
<script>
var kpi_grid = $("#kpi-grid");
$(document).ready(function() {
$("#kpi-grid").jqGrid({
datatype: 'json'
, url: 'someurl'
, colNames: ["x1", "x2"]
, colModel: [
{name: "x1", width: 50 }
, {name: "x2", width: 140 }
]
, ignoreCase: true
, loadonce: true
, contentType: "application/json"
, jsonReader: { root: "rows", id: "id" }
, gridView: true // <== Problem was here, should be gridview
, rownumbers: true
, viewrecords: true
, height: '100%'
});
});
</script>
在jqGrid源上抛出错误的地方是:
for (i=0; i<ts.p.colModel.length;i++) {
ts.p.colModel[i] = $.extend(true, {}, ts.p.cmTemplate, ts.p.colModel[i].template || {}, ts.p.colModel[i]);
if (ts.p.keyIndex === false && ts.p.colModel[i].key===true) {
ts.p.keyIndex = i;
}
}
这个结构适用于我项目中的其他网格,但这个结构不起作用。
答案 0 :(得分:1)
从jsonReader更改你的:
{ root: "rows", id: "id" } to { root: "rows", id: "id",repeatitems: false }
。
repeatitems“元素告诉jqGrid行中数据的信息是可重复的 - 即元素具有单元格元素中描述的相同标记单元格。将此选项设置为false指示jqGrid按名称搜索json数据中的元素。”
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data