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")表示排除第一行表头