jqGrid加载并获取所有行数据,遍历所有行数据

(1)jqgrid加载并获取所有行数据

//获取当前表格的所有数据
function getJQAllData() {
   var obj = jQuery("#jqGridId");
   //获取当前显示的数据
   var rows = obj.jqGrid('getRowData');
   var rowNum = obj.jqGrid('getGridParam', 'rowNum'); //获取显示配置记录数量
   var total = obj.jqGrid('getGridParam', 'records'); //获取查询得到的总记录数量
   //设置rowNum为总记录数量并且刷新jqGrid,使所有记录现出来调用getRowData方法才能获取到所有数据
   obj.jqGrid('setGridParam', { rowNum: total }).trigger('reloadGrid');
   var rows = obj.jqGrid('getRowData');  //此时获取表格所有匹配的
   obj.jqGrid('setGridParam', { rowNum: rowNum }).trigger('reloadGrid'); //还原原来显示的记录数量
   return rows;
}

(2)将所有表格数据传到后台

getJQAllData(); jQuery("#submitForm").ajaxSubmit({ type : 'POST', url: saveUrl, dataType : 'json', data: { data :JSON.stringify(rows) //将json数组转为String字符串 }, success: function(json){ alert(json.message); }, error: function(json) { alert("保存失败!"); } });

后台获取数据

String data = request.getParameter("data");
JSONArray object = JSONArray.fromObject(data);//将String转json数组
List<ExpertList> lists=(List<ExpertList>)JSONArray.toList(object, ExpertList.class);//将json集合jArray放入list集合中

(3)通过rowId获取行数据

//获取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]));
  }
}

(4)遍历所有行数据

// 遍历所有行数据
$("#taskTable").find("tbody tr").not(".jqgfirstrow").each(function (j) {
     var inventoryQty = $(this).find("#taskid").val();
     if (inventoryQty == "") {
         alert("请先保存数据!");
         return false;
     }
});// 遍历所有行数据
       

not(".jqgfirstrow")表示排除第一行表头

原文地址:https://www.cnblogs.com/xmm2017/p/13943849.html