Вы не опубликовали полный код, который используете.Поэтому я могу только догадываться, что вы делаете.
Если у вас есть в ajaxResponse
полные данные, которые вы используете для заполнения сетки, вы можете создать сетку с данными.Вы можете использовать data: ajaxResponse
вместе с gridview: true
.В случае, если вся сетка будет создана сразу:
var mydata = [
{id: 1, name: 'John', email: 'john@doe.co.uk'},
{id: 2, name: 'Michael', email: 'michael@example.com'}
];
$("#list").jqGrid({
datatype: 'local',
data: mydata,
colNames: ['Name', 'E-Mail'],
colModel: [
{name: 'name', width: 100},
{name: 'email', width: 150}
],
rowNum: 5,
rowList: [5, 10, 20],
pager: '#pager',
gridview: true,
rownumbers: true,
sortname: 'name',
sortorder: 'desc',
caption: 'Just simple local grid',
height: 'auto'
});
(см. Демонстрацию здесь )
Если вы получаете данные с сервера в формате JSONнапример,
[
{"id": 1, "name": "John", "email": "john@doe.co.uk"},
{"id": 2, "name": "Michael", "email": "michael@example.com"}
]
вы можете установить параметр url
для URL сервера, который предоставляет данные, и использовать
$("#list").jqGrid({
url: 'Nicolae2.json',
datatype: 'json',
jsonReader: {
repeatitems: false,
root: function (obj) { return obj; },
page: function () { return 1; },
total: function () { return 1; },
records: function (obj) { return obj.length; }
},
loadonce: true,
colNames: ['Name', 'E-Mail'],
colModel: [
{name: 'name', width: 100},
{name: 'email', width: 150}
],
rowNum: 5,
rowList: [5, 10, 20],
pager: '#pager',
gridview: true,
rownumbers: true,
sortname: 'name',
sortorder: 'asc',
caption: 'Just simple local grid',
height: 'auto'
});
, чтобы заполнить сетку по Ajax напрямую с сервера.Единственное ограничение, которое вы должны предоставить правильно отсортированные данные.Поэтому я изменил sortorder: 'desc'
с предыдущего примера на sortorder: 'asc'
.Смотрите второе демо здесь .