当在 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
谢谢