我正在尝试在jqGrid上显示来自服务器的数据。它可以很好地获取数据但不显示任何内容。
这是我的代码:
HTML
<link href="css/jqGrid.css" rel="stylesheet" media="screen"/>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.jqGrid.min.js"></script>
<table id="mapGrid"></table>
<div id="mapGridPager"></div>
的js
function initGrid() {
var gridOption = {
caption: 'Locations',
url: 'report/search?',
height: '500',
width: '500',
colNames:['Event ID', 'DateTime','Latitude', 'Longitude', 'Address'],
colModel:[ {name:'eventId', index:'eventId', align:'center', width:40, fronzen:true},
{name:'timestamp',index:'timestamp', align:'center', width:100, fronzen:true},
{name:'latitude',index:'latitude', width:100},
{name:'longitude',index:'longitude', width:100},
{name:'address',index:'address', width:200}
],
emptyrecords: 'Nothing to display',
rowNum:30,
mtype: "GET",
rownumbers: true,
gridview: true,
page : 1,
pager: '#mapGridPager',
sortname: 'eventId',
viewrecords: true,
sortorder: "asc",
shrinkToFit: false,
beforeRequest: function(){
return false;
}
};
$('#mapGrid').jqGrid(gridOption)
.navGrid(gridOption.pager, {edit:false,add:false,del:false,refresh:false,search:false});
}
JSON数据
{
"total":1,
"page":1,
"records":22,
"rows":[
{
"eventId":1,
"accountId":"demo",
"deviceId":"demo",
"timestamp":"16-01-1970 02:20:25",
"statusCode":61714,
"latitude":38.4465157985687,
"longitude":-121.857991218567,
"altitude":19.0,
"address":"Dixon, CA"
},
//21 more
]
}
每条记录的事件ID都是唯一的。
如何解决此问题?
答案 0 :(得分:0)
添加datatype: 'json',
作为jqGrid设置的一部分。
我也假设这个Javascript在某个时候被调用了。
答案 1 :(得分:0)
Jqgrid的默认数据类型是XML,您必须明确提及数据的数据类型。添加以下选项,它应显示网格。
数据类型:&#34; json&#34;。
Jqgrid使用Jquery UI css作为主题,因此添加Jquery-Ui.css和主题以获得更好的外观。