Я строю полностью "клиентскую" сетку, однако, если я включаю встроенное редактирование, сделанные мной изменения будут потеряны, если я изменю страницу сетки.
Надеюсь, кто-то может указать, что мне не хватает
Настройка Grid показана ниже вместе с функцией, которую я вызываю, чтобы заполнить ее тестовыми данными:
var myGrid;
var lastgridsel;
jQuery(document).ready(function() {
myGrid = jQuery("#mygrid").jqGrid({
datatype: 'local',
colModel: [
{ name: 'AID', label: 'AID', index: 'AID', width: 100, editable: false,
sorttype: "int" },
{ name: 'MS', label: 'MS', index: 'MS', width: 300, editable: false },
{ name: 'GROUP', label: 'GROUP', index: 'GROUP', width: 100,
editable: false },
{ name: 'REV', label: 'REV', index: 'REV', width: 100,
editable: false },
{ name: 'OPT', label: 'OPT', index: 'OPT', width: 100, editable: true,
edittype: 'text' }
],
pager: '#mypager',
rowNum: 10,
rowList: [10, 20, 500],
viewrecords: true,
loadonce: true,
autowidth: true,
sortname: 'AID',
sortorder: 'desc',
cellsubmit: 'clientArray',
onSelectRow: function(id) {
if (id && id !== lastgridsel) {
jQuery('#mygrid').saveRow(lastgridsel, false, 'clientArray');
jQuery('#mygrid').editRow(id, true);
lastgridsel = id;
}
}
});
});
var mydata = [];
function InitNew() {
for (var i = 0; i < 100; i++) {
mydata.push({ AID: i, MS: "123", GROUP: "456", REV: "78", OPT: "8" });
}
myGrid.setGridParam({ data: mydata }).trigger("reloadGrid");
}
Это показывает 10 страниц, 100 записей. Если щелкнуть столбец «OPT», я могу изменить значение в текстовом поле, а при щелчке другой строки данные будут сохранены. Однако, как только я перехожу на другую страницу и возвращаюсь на первую страницу, данные возвращаются к своему первоначальному значению.