Когда выполняется встроенное редактирование в строке jqgrid, это позволяет сделать, но снова щелкните другую строку, а затем не отменяет предыдущую строку, и обе останутся в режиме редактирования. Мне нужно, чтобы он был отменен последним, если пользователь щелкнул новую строку для редактирования, так как за один раз одна строка должна быть открыта для редактирования. (если пользователь нажимает на следующую строку для редактирования, последняя строка должна быть отменена, а новая строка должна открываться для редактирования).
Проблема здесь, он переключается на новую строку для редактирования, но кнопки «редактировать» и «отмена» последней строки остаются такими, какие они есть. Следовательно, одновременно пользователь может видеть две кнопки редактирования и отмены двух строк.
$("#SamplesGrdList").jqGrid({
url: '@Url.Action("ActionName", "Controller")/',
datatype: "json",
colNames: ['Category Name','ValueToChange','Edit'],
colModel: [
{ name: 'CategoryName', index: 'CategoryName', sortable: true, sorttype: 'text', width: 140, classes: 'bStyle' },
{
name: 'ValueToChange', index: 'ValueToChange', width: 82, align: "right", editable: true, editrules: { number: true, required: true, custom: true, custom_func: Deductions }, formatter: 'currency',
formatoptions: { decimalSeparator: ".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00', prefix: '$ ' },
editoptions: {
style: 'width:70px;', dataEvents: [
{
type: 'blur',
fn: function (e) {
CalculateDeductions($(this).val());// SOme DB Operation
}
}
]
}
},
{
name: 'act', index: 'act', width: 60, align: 'center', sortable: false, formatter: 'actions',
formatoptions: {
keys: false,
delbutton: false,
onEdit: function (rowid) {
},
onSuccess: function (jqXHR) {
$("#SamplesGrdList").trigger('reloadGrid');
return true;
},
onError: function (rowid, jqXHR, textStatus) {
},
afterSave: function (rowid) {
},
afterRestore: function (rowid) {
$("#SamplesGrdList").trigger('reloadGrid');
}
}
}
],
rowNum: 10, rowList: [10, 20, 30],
sortname: 'CategoryName',
shrinkToFit: true,
sortable: true,
viewrecords: true,
sortorder: "desc",
footerrow: true,
width: '780',
height: '100%',
jsonReader:
{
root: 'List',
page: 'Page',
total: 'TotalPages',
records: 'TotalCount',
repeatitems: false,
id: 'Id'
},
editurl: '@Url.Action("ActionName", "ControllerName")'
});
Пожалуйста, объясните, как решить эту проблему, чтобы одновременно была доступна одна строка для редактирования/сохранения/отмены.
ПРИМЕЧАНИЕ. Версия jqgrid — Jquery.jqgrid-4.1.2.min.js.
Спасибо