В ответ Я предложил расширить метод addRowData
для поддержки новых значений afterSelected и beforeSelected (дополнительно к существующим first, last, before и after). ) параметра position
. Я показал, что можно переписать (подкласс) оригинальный метод addRowData
, чтобы добавить поддержку без написания полного кода addRowData
.
В соответствующей демоверсии я продемонстрировал, как можно использовать эту функцию в случае использования редактирования формы .
Таким же образом мы можем решить проблему и в методе inlineNav . Новая демонстрация демонстрирует это.
Соответствующий код является практически копией кодов из ответа.
var oldAddRowData = $.fn.jqGrid.addRowData;
$.jgrid.extend({
addRowData: function (rowid, rdata, pos, src) {
if (pos === 'afterSelected' || pos === 'beforeSelected') {
if (typeof src === 'undefined' && this[0].p.selrow !== null) {
src = this[0].p.selrow;
pos = (pos === "afterSelected") ? 'after' : 'before';
} else {
pos = (pos === "afterSelected") ? 'last' : 'first';
}
}
return oldAddRowData.call(this, rowid, rdata, pos, src);
}
});
...
$("#list").jqGrid('inlineNav', '#pager', {addParams: {position: "afterSelected"}});
Вероятно, я должен опубликовать в trirand соответствующее предложение изменить оригинальный метод addRowData
с описанными выше функциями.