JQGRID – 维持checkboxselect状态 – 页面刷新/redirect/重载
在页面刷新/重新加载/redirectJQGRID中的其他页面之后,必须保持该checkbox的select。
我在aspx
页面工作。
我能够使用以下代码在分页中保持checkboxselect状态:
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); }
但是, 如何保持页面刷新/redirect/重载 JQGrid
的checkboxselect状态?
另外,我在Window.OnLoad
上尝试了下面的代码,但它不工作
$("#list").trigger("reloadGrid", [{page: 1, current: true}]);
在旧版本的jqGrid中,对网格的多个页面进行select的实现非常棘手。 我发布了答案 , 答案 (尝试演示 )与相应的实现。
另一方面,在多个页面上select多行的情况是非常普遍的。 因此我在免费的jqGrid中实现了新function。 现在可以将multiPageSelection: true
选项与multiselect: true
结合使用。 它以如下方式改变select的行为:
- 可以使用
selarrrow
数组来在创build网格时直接预先select一些行。 - 数组
selarrrow
可以容纳来自其他页面的行的ID。 在更改页面时,数组selarrrow
不会被清除。 jqGrid只是select行,如果它的rowid是在数组selarrrow
。 - 单击checkbox列标题中的“全选”checkbox,使用本地
data
所有 rowid填充selarrrow
(来自所有页面)
演示演示了新function。