jqgrid获取不同分页的选中数据并保存回显

Posted 拄杖盲学轻声码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jqgrid获取不同分页的选中数据并保存回显相关的知识,希望对你有一定的参考价值。

这个主要涉及三个知识点:

  1. 定义一个数组用来缓存数据
  2. 使用jqgrid本身的属性onSelectAllbeforeSelectRow
  3. 自定义封装的一个lodash.min.js 文件(切记要引入)百度网盘:https://pan.baidu.com/s/17JYOfaLVffzI1u5wL8uSkg 提取码:zgd3

主要实现逻辑:首先定义一个缓存,当表格中选择(取消)数据的时候,将选中(取消)的ID存放(移除)于缓存数组-->jqgrid数据加载结束后将缓存数据设置为被选中状态-->这样的话就能规避分页数据刷新带来的问题

实现代码如下:

//创建jqGrid缓存数组
var item_selected = monids;
//jqGrid数据加载结束后设置回显状态
gridComplete: function () {  
        //*********
         var _this = this;
            if(item_selected.length>0){
                for (var i = 0; i < item_selected.length; i++) {
                    $(_this).jqGrid(setSelection,item_selected[i]);
                }
            }
            selectjqg = item_selected;
},
}
//jqGrid中触发选中功能,将数据缓存在数组中
onSelectAll:function(aRowids,status) {
            var _this = this;
            if(status){
                item_selected = _.union(item_selected, aRowids);
            }else{
                item_selected = _.difference(item_selected, aRowids);
            }
        },
beforeSelectRow:function(rowid, e) {
            var _this = this;
            var index = _.indexOf(item_selected, rowid);
            if(index==-1){
                item_selected.push(rowid);
            }
            else{
                item_selected = _.pull(item_selected, rowid);
            }
       }

 

以上是关于jqgrid获取不同分页的选中数据并保存回显的主要内容,如果未能解决你的问题,请参考以下文章

jqgrid分页后,自定义查询数据怎么得到所有页的某列值的合计

elementUITable的多选框:分页选择数据回显,分页保存选中的数据。

jqgrid 如何获取分页的信息:当前页和总页数,作为参数传递到url

用datalist如何实现分页的代码(C#)

怎样获取编辑后的jqgrid的值

jqGrid不显示分页链接