jqGrid препятствует навигации по пейджеру? - PullRequest
5 голосов
/ 27 сентября 2010

Мы используем пользовательский форматер для вывода текстовых полей в формате HTML. В случае, если пользователь ввел данные и нажал кнопку «Следующая / Предыдущая», мы хотим сказать им: «Вы отредактировали данные, нажмите« ОК », чтобы остаться на этой странице и сохранить ваши данные». Как ты можешь это сделать?

Событие ' onPaging ' возникает, когда вы используете пейджер, но, похоже, не позволяет предотвратить разбиение на страницы.


Обновление: Текущее решение:

var currPg = 1;
var dirty = 'false';


  $("#list").jqGrid({
    ...
    onPaging: function (b) {
        var nextPg = $("#list").getGridParam("page");

        if (dirty == 'false') {
           currPg = nextPg;
           return;
        }


        $( "#dialog-confirm" ).dialog({
        modal: true,
        buttons: {
            "Stay on current page": function() {
                $( this ).dialog( "close" );
            },
            "Change page": function() {
                $( this ).dialog( "close" );
                reloadGrid($("#list"), null, nextPg, 'false');
            }
        }
        });

        $("#list").setGridParam({page:currPg}); //Workaround - jqGrid still increments the page num even when we return stop so we have to reset it (and track the current page num)    
        return 'stop';
    },

Обновление 2 : ошибка регистрируется здесь .

Ответы [ 2 ]

5 голосов
/ 27 сентября 2010

Если функция onPaging возвращает «стоп», то разбиение на страницы будет остановлено.

0 голосов
/ 29 ноября 2013

Согласно моему наблюдению, событие onPaging хорошо работает в последнем плагине jqgrid. Хотя, если мы используем предыдущий плагин jqgrid (до версии 3.8), событие .onPaging будет работать, но после использования этого события будет ошибка в разбиении на страницы. Поскольку оно автоматически увеличиваетсяЗначение страницы либо пользователь нажимает на ok, либо отменяет (в обоих случаях). Что приводит к повреждению данных разбивки на страницы.

...