jqgrid没有填充数据

时间:2018-04-13 08:02:37

标签: jqgrid

我正在尝试使用从服务器返回的JSON数据填充jqgrid。

以下是我的jqgrid配置代码 -

$(document).ready(function(){
	jQuery("#list4").jqGrid({
		jsonReader : {
		     repeatitems: false,
		     id: "0"
		},
	   	url:'/data/scans',
	   	datatype:'json',
	   	colNames:['Scan ID','Scanned Machine', 'Begin Time', 'End Time'],
	   	colModel:[
	   		{name:'scanId',index:'scanId', width:100, jsonmap:"scanId"},
	   		{name:'scannedMachine',index:'scannedMachine', width:150, jsonmap:"scannedMachine"},
	   		{name:'beginTime',index:'beginTime', width:180,jsonmap:"beginTime"},
	   		{name:'endTime',index:'endTime', width:180,jsonmap:"scanId"}		 
	   	],
	   	rowNum:10,
	   	rowList:[10,20,30],
	   	pager: '#pager4',
	   	sortname: 'scanId',
	    viewrecords: true,
	    sortorder: "desc",
	    caption:"JSON Example"
	});
	jQuery("#list4").jqGrid('navGrid','#pager4',{edit:false,add:false,del:false});

从服务器返回的JSON数据如下所示 -

{ total: '1',
page: '1',
records: '2',
rows:[
{scanId:"123", scannedMachine:"Axbhad", beginTime:"Fri Apr 13 13:02:52 IST 2018", endTime:"Fri Apr 13 13:02:52 IST 2018"},
{scanId:"123", scannedMachine:"Axbhad", beginTime:"Fri Apr 13 13:02:52 IST 2018", endTime:"Fri Apr 13 13:02:52 IST 2018"}]}

但是html页面总是显示这样的空网格 - enter image description here

有人可以指出我做得不对的是什么。

1 个答案:

答案 0 :(得分:1)

我已经开始工作了。我所做的只是正确标点了JSON字符串。 现在看起来像这样-

{ "total": "1", "page": "1", "records": "2", "rows":[ {"scanId":"123", "scannedMachine":"Axbhad", "beginTime":"Fri Apr 13 17:17:30 IST 2018", "endTime":"Fri Apr 13 17:17:30 IST 2018"}, {"scanId":"124", "scannedMachine":"Axbhad", "beginTime":"Fri Apr 13 17:17:30 IST 2018", "endTime":"Fri Apr 13 17:17:30 IST 2018"}]}.

为了避免犯这样愚蠢的错误,我使用了如下的GSON libabry-

@Override
public String toString() {
    return new Gson().toJson(this);
}