1. 程式人生 > >jqgrid使用陣列,實現選中再翻頁還是選中

jqgrid使用陣列,實現選中再翻頁還是選中

 //這三個函式一起組成jQgrid選中,並且翻頁的時候也能選中  //全域性陣列,接收每一次選中的行資料     //KPI_ID 這個是一行資料的唯一id,每一行都有一個     var selectArr = [];      gridComplete:function() {         var _this = this;         //這裡是獲取jqgrig表格所有的行         var rowData = $(_this).jqGrid('getRowData');         //遍歷所有的行,如果是選中的,說明它在陣列中,讓他選中         for(var i =0,n=rowData.length;i<n;i++){             var obj = rowData[i];             //判斷是否存在資料             if(selectArr[obj.KPI_ID]){                  $(_this).jqGrid('setSelection',i+1,false);             }         }     },          //每次選中行的時候,會執行的函式     onSelectRow:function(rowid,status, e) {         //獲取當前行物件資料         var obj = $(this).jqGrid('getRowData',rowid);         //如果是選中,把他放入陣列中         if(status){             selectArr[obj.KPI_ID]=obj;         }else{             //當再一次點選的時候,就移除陣列,取消選中             if(selectArr[obj.KPI_ID]){                 delete  selectArr[obj.KPI_ID];             }          }     },          //這個是選中jqgrid所有的資料,包括上下頁     onSelectAll:function(aRowids,status) {         var _this = this;         //這個是選中jqgrid所有的資料,包括上下頁         var rowData = $(_this).jqGrid('getRowData');         //迴圈遍歷,獲取所有的資料,把所有的資料都放入到陣列中         for(var i=0,n=rowData.length;i<n;i++){             var obj = rowData[i];             if(status){                 selectArr[obj.KPI_ID]=obj;             }else{                 //當全選按鈕再一次點選的時候,取消選中,把資料從陣列中移除                 if(selectArr[obj.KPI_ID]){                     delete  selectArr[obj.KPI_ID];                 }              }             }                     },