Вы сгенерировали неверный формат данных для сетки. Если вы не можете внести какие-либо изменения на стороне сервера, вы должны добавить jsonReader
, описанный в ответ .
Как правило, использование сервисов RESTful не означает, что вы должны публиковать полностью чистые данные. jqGrid разработан для поддержки работы с большим набором данных. Таким образом, в запросе, отправляемом на сервер, есть дополнительные параметры о странице, которую необходимо вернуть. Посмотрите на ответ , который более ясно описывает проблему.
Вы используете url: 'http://localhost:8001/resource/abc/entries'
, что очень плохо. Вы всегда должны использовать url в форме url: '/resource/abc/entries'
или в любой другой форме без имени хоста и номера порта. По соображениям безопасности запросы ajax будут заблокированы , если вы попытаетесь обратиться к другому сайту или другому порту. Я рекомендую вам использовать обработчик loadError
, чтобы увидеть, какая у вас ошибка. В части «ОБНОВЛЕНО» ответа вы найдете соответствующий код, включая демонстрационный проект, который вы можете загрузить.
ОБНОВЛЕНО: Здесь вы можете найти пример того, как вы можете изменить код jqGrid только для отображения данных, выданных сервером:
$("#list2").jqGrid({
datatype: 'json',
url: 'user755360.json',
colNames: ['Trans ID', 'ACC ID', 'Day ID', 'Date', 'Balance'],
colModel: [
{ name: 'Trans_ID', index: 'Trans_ID', key:true, width: 130, sorttype:'int' },
{ name: 'ACC_ID', index: 'ACC_ID', width: 100, sorttype:'int' },
{ name: 'Day_ID', index: 'Day_ID', width: 100, sorttype:'int' },
{ name: 'Summary_Date', index: 'Summary_Date', width: 90, formatter:'date',
sorttype:'date' },
{ name: 'Balance', index: 'Balance', width: 85, formatter:'number',
sorttype:'number' }
],
rowNum: 20,
rowList: [10, 30, 50],
gridview: true,
pager: '#pager2',
rownumbers: true,
viewrecords: true,
jsonReader : {repeatitems: false,
root: function(obj) {
return obj;
},
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
},
loadonce: true,
sortname: 'Summary_Date',
sortorder: "desc",
height: "100%",
caption: "Demo"
});