jqGridテーブルのすべての行データを取得

5079 ワード

概要:
            ,    jgGrid       ;            。

これはネットで探したコードの断片です.
//           
function getJQAllData() {
   var o = jQuery("#jqGridId");
   //         
   var rows = o.jqGrid('getRowData');
   var rowNum = o.jqGrid('getGridParam', 'rowNum'); //          
   var total = o.jqGrid('getGridParam', 'records'); //            
   //  rowNum          jqGrid,          getRowData           
   o.jqGrid('setGridParam', { rowNum: total }).trigger('reloadGrid');
   var rows = o.jqGrid('getRowData');  //           
   o.jqGrid('setGridParam', { rowNum: rowNum }).trigger('reloadGrid'); //           
   return rows;
}

注意:(1)使用中、最後の行のデータが常に漏れていることがわかります(最後にこのスキームは採用されていません).(2)次は自分の考えで解決策を作りました.
jsコードは以下の通りです.
function getJQAllData() {
//  grid  
var obj = $("#jgGridId");
//  grid     rowid 
var rowIds = obj.getDataIDs();
//       arrayData  ,    rowData
var arrayData = new Array();
if (rowIds.length > 0) {
  for (var i = 0; i < rowIds.length; i++) {
  //rowData=obj.getRowData(rowid);//  rowid=rowIds[i];
  arrayData.push(obj.getRowData(rowIds[i]));
  }
}
return arrayData;
}

最後にローデータの配列を返し、保存するときは、そのメソッドを呼び出す戻り値を受信するだけでよい.
また、grid行記録の一般的な処理方法を記録します.
//  grid     (  )
var obj = $("#jqGridId");
var rowid = obj.jqGrid('getGridParam', 'selrow');
//  grid     (  )
var ids=obj.jqGrid('getGridParam','selarrrow');
//     
var rowData=obj.jqGrid('getRowData',rowid);
//  grid      rowid
var IDs=obj.getDataIDs();
//           
//var ind = $("#jiGouGridList").getInd(rowid);
//  grid      
obj.clearGridData(true);
//   
obj.setSelection(rowid);

以下gridの非常に重要な方法を紹介します:addRowData(rowid,data,position,srcrowid);
addRowData      Grid       。      truefalse4   :
$(“#jqgrid_id”).jqGrid(“addRowData”, rowid , data , position,srcrowid );

  : $(“#addlist”).jqGrid(“addRowData”, 1, dataRow, “first”,srcrowid);

rowid :   id ;
data :       ,   {name1:value1,name2: value2…},  name colModel       name;
position :     (first:    ;last:    ;before:srcrowid  ;after:srcrowid  );
srcrowid :      srcrowid         (srcrowid             rowid,    rowid     ,           grid  )。