JQGRID - 维护复选框选择状态 - 页面刷新/重定向/重新加载

IT技术 javascript asp.net checkbox jqgrid jqgrid-asp.net
2021-01-16 16:07:43

^ h OW保持页面刷新/重载/从其他页面重定向后的复选框选择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可以保存来自其他页面的行的 id selarrrow更改页面时不会清除数组jqGrid 只选择行,如果它的 rowid 在数组中selarrrow
  • 点击“全选”复选框复选框列填充的头selarrrow所有的本地的rowid data(所有页)

该演示演示了新功能。