How to maintain the checkbox selection after the page refresh / reload / redirected from some other page in JQGRID.
I am working in aspx
pages.
I am able to maintain the checkbox selection state in paging using following code:
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);
}
But, how to maintain the checkbox selection state in page refresh / redirect / reload in JQGrid
?
Also, I tried the following code on Window.OnLoad
, but it is not working
$("#list").trigger("reloadGrid", [{page: 1, current: true}]);
The implementation of selection over multiple pages of the grid is very tricky in old versions of jqGrid. I posted the answer, the answer (try the demo) with the corresponding implementations.
On the other side the scenario of selection of multiple rows over multiple pages is very common. Thus I implemented new feature in free jqGrid. Now one can just use new multiPageSelection: true
option in combination with multiselect: true
. It changes the behavior of selection in the following way:
selarrrow
array to pre-select some rows directly during creating the grid.selarrrow
can hold the ids of rows from other pages. The array selarrrow
will be not cleared on changing the page. jqGrid just select rows if it's rowid is in the array selarrrow
.selarrrow
with all rowids of local data
(from all pages)The demo demonstrates the new feature.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With