移动到下一页时,jqGrid multiselect,复选框保持不变

Wil*_*ana 9 jqgrid

如果你看到jqGrid演示:

http://www.trirand.com/blog/jqgrid/jqgrid.html

部分:高级 - >多选

当我移动到下一页并再次返回到上一页时,您会看到已复选的复选框不会保留.

如何让它坚持下去?

这是我的方案,在我的应用程序中有一个组功能,我可以添加几个客户,我正在使用jqgrid来显示数千个客户.

我想检查我想要的每个客户,然后提交此选定的客户并将其添加到指定的组中.

我怎样才能做到这一点 ?(make jqgrid,multiselect persist?)

谢谢.

小智 5

使用gridComplete和onPaging事件以及jquery .data()方法可以非常简单.这比我在网上看到的很多东西要简单得多,所以我想我会分享它.我网格的选择器是'#employeerolegrid'.

       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) {
                    $('#employeerolegrid').setSelection(value, false);
                });
            }
        },
        onPaging: function () {
            var saveSelectedRows = $(this).getGridParam('selarrrow');
            var page = $(this).getGridParam('page') - 1;

            //Store any selected rows
            $(this).data(page.toString(), saveSelectedRows);
        }
Run Code Online (Sandbox Code Playgroud)

  • 将onPaging函数更改为:`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'); //存储任何选定的行$(this).data(pageValue.toString(),saveSelectedRows); }` (4认同)

小智 2

查看此处的事件列表http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events

逻辑是:每次触发“onPaging”事件时,您应该迭代每一行并将每行的唯一 id 存储到一个数组中,还迭代您的 id 数组并在每次“onPaging”时检查所有选择框被解雇了。