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。