JQGRID - поддерживать состояние выбора флажка - обновление страницы / перенаправление / перезагрузка

Как сохранить флажок после обновления / перезагрузки / перенаправления страницы с какой-либо другой страницы в JQGRID.

Я работаю в aspx страницы.

Я могу поддерживать состояние выбора флажка в подкачке с помощью следующего кода:

    gridComplete: function () {
     var currentPage = $(this).getGridParam('page').toString(); //retrieve any previously stored rows for this page and re-select them
     var retrieveSelectedRows = $(this).data(currentPage);
     if (retrieveSelectedRows) {
        $.each(retrieveSelectedRows, function (index, value) {
        $('#list').setSelection(value, false);
     });
    }
   },
   onPaging: function (a) {
     var pagerId = this.p.pager.substr(1); // ger paper id like "pager" 
     var pageValue = $('input.ui-pg-input', "#pg_" +           $.jgrid.jqID(pagerId)).val();
     var saveSelectedRows = $(this).getGridParam('selarrrow'); //Store any selected rows 
     $(this).data(pageValue.toString(), saveSelectedRows);
  }

Но, как сохранить состояние выбора флажка в странице обновления / перенаправления / перезагрузки в JQGrid?

Кроме того, я попробовал следующий код на Window.OnLoad, Но это не работает

$("#list").trigger("reloadGrid", [{page: 1, current: true}]);

1 ответ

В старых версиях jqGrid реализация выделения на нескольких страницах сетки очень сложна. Я разместил ответ, ответ (попробуйте демо) с соответствующими реализациями.

С другой стороны, сценарий выделения нескольких строк на нескольких страницах очень распространен. Таким образом, я реализовал новую функцию в бесплатной jqGrid. Теперь можно просто использовать новый multiPageSelection: true вариант в сочетании с multiselect: true, Это меняет поведение выбора следующим образом:

  • можно использовать selarrrow массив для предварительного выбора ряда строк непосредственно при создании сетки.
  • массив selarrrow может содержать идентификаторы строк с других страниц. Массив selarrrow не будет очищаться при смене страницы. jqGrid просто выбирает строки, если его rowid находится в массиве selarrrow,
  • установите флажок "Выбрать все" в заголовке заполнения столбцов флажка selarrrow со всеми гребнями местного data (со всех страниц)

Демо-версия демонстрирует новую функцию.

Другие вопросы по тегам