1. 程式人生 > >jqgrid獲取不同分頁的選中數據並保存回顯

jqgrid獲取不同分頁的選中數據並保存回顯

stat style AI sta pull 刷新 這樣的 加載 item

這個主要涉及三個知識點:

  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獲取不同分頁的選中數據並保存回顯