jqgrid獲取不同分頁的選中數據並保存回顯
阿新 • • 發佈:2018-03-19
stat style AI sta pull 刷新 這樣的 加載 item
這個主要涉及三個知識點:
- 定義一個數組用來緩存數據
- 使用jqgrid本身的屬性onSelectAll和beforeSelectRow
- 自定義封裝的一個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獲取不同分頁的選中數據並保存回顯