Я пытаюсь изменить эту сетку на sh после изменения ячейки и нажатия клавиши Enter. Похоже, что afterSaveCell
никогда не срабатывает. Я подозреваю, что причина в том, что alert
никогда не отображается. Я ожидал бы, что функция afterSaveCell
вернет go на сервер и обновит sh данные сетки.
<div class="tobDetails-error-msg redBG"></div>
<table id="transportoutboundnotpickeditemsdetailList"></table>
<div id="transportoutboundnotpickeditemsdetailPager"></div>
$(document).ready(function() {
$("#transportoutboundnotpickeditemsdetailList").jqGrid({
url: '/QMSWebApp/TransportOutBoundControllerServletV8?lifecycle=loadtransportoutboundpickeditemsdetailDataModel',
editurl: '/QMSWebApp/TransportOutBoundControllerServletV8?lifecycle=edittransportoutboundpickeditemsdetailDataModel',
datatype: "json",
height: "auto",
colNames: ['Serial#', 'Trailer#'],
colModel: [{
name: 'id',
index: 'id',
width: 100,
hidden: false,
editable: true,
editoptions: {
readonly: 'readonly'
},
editrules: {
edithidden: true
},
formoptions: {
rowpos: 1,
colpos: 1,
label: "Serial#:"
}
}, {
name: 'trailer',
index: 'trailer',
width: 100,
hidden: false,
editable: true,
editrules: {
edithidden: true
},
formoptions: {
rowpos: 4,
colpos: 1,
label: "Trailer#:"
}
}, ],
rowNum: 10,
rowList: [10, 20, 30],
autoencode: false,
loadonce: true,
pager: '#transportoutboundnotpickeditemsdetailPager',
reloadingDuringEditing: 'save',
cellEdit: true, // TRUE = turns on celledit for the grid.
cellsubmit: 'remote',
cellurl: '/QMSWebApp/TransportOutBoundControllerServletV8?lifecycle=edittransportoutboundpickeditemsdetailDataModel',
afterEditCell: function(rowid, cellname, value, iRow, iCol) {
$('.edit-cell > input').select();
},
afterSaveCell: function(rowid, cellname, value, iRow, iCol) {
alert("Save");
$(this).trigger('reloadGrid');
},
errorCell: eFunc,
viewrecords: true,
gridview: true,
userdata: "userdata",
loadComplete: lComplete,
reloadAfterSubmit: true,
caption: ""
});
var myGrid = $("#transportoutboundnotpickeditemsdetailList"),
myGridId = $.jgrid.jqID(myGrid[0].id);
function lComplete(data) {
var cm = $('#transportoutboundnotpickeditemsdetailList').jqGrid('getColProp', 'trailer');
cm.editable = $("#transportoutboundnotpickeditemsdetailList").getGridParam('userData').editMode;
hideProgressDisplay();
};
function eFunc(res, status) {
return [true];
}
});
Я использую free-jqgrid 4.5.5