У меня на странице есть таблица jqGrid с большим количеством столбцов, поэтому сетка шире, чем окно браузера, появляется горизонтальная полоса прокрутки.
Проблема заключается в том, что когда пользователь нажимает на строку, чтобы начать редактирование, фрейм браузера прокручивается влево, что приводит пользователя в замешательство и даже иногда скрывает выбранную ячейку.
Я попробовал методы, которые я нашел здесь и здесь , но они не работают для меня - я могу восстановить текущую позицию прокрутки, но я могу ' установить это.
Ячейки установлены как редактируемые в columnsModel, поэтому я получаю позицию прокрутки в событии formatCell и пытаюсь установить позицию прокрутки в afterEditCell с помощью следующего кода:
afterEditCell: function(rowid, cellname, value, irow, icol) {
jQuery("#list").closest(".ui-jqgrid-bdiv").scrollLeft(scrollPosition);
window.scrollTo(scrollPosition,0);
if (window.pageXOffset) {window.pageXOffset = scrollPosition;};
if (document.body.parentElement) {document.body.parentElement.scrollLeft = scrollPosition;};
if (document.body) {document.body.scrollLeft = scrollPosition;};
И это никак не влияет на поведение сетки - она прокручивается в крайнее левое положение.
Есть ли другие способы реализовать это?