//保存添加行的id编号
var newrowids = new Array() ;
//给grid添加行
function addRow($jqgrid)
{
jqgrid 多行添加及删除解决思路
//获得jqgrid所有编号
var ids = $jqgrid.jqGrid('getDataIDs');
//获得第一行的role
var $firstTrRole = $("#plsfList").find("tr").eq(1).attr("role");
//如果jqgrid中没有数据 定义最大行号为100 ,否则取当前最大行号
var rowid = $firstTrRole == "row" ? Math.max.apply(Math,ids):100;
//获得新添加行的行号(数据编号)
var newrowid = parseInt(rowid)+1;
newrowids[newrowids.length]= newrowid ;
//定义row
var dataRow = {
id: "",
valid:"",
zoneID:'',
factorPG:'',
factorQG:'',
factorPL:'',
factorQL:'',
caseID:''
};
//将新添加的行插入到第一列
$jqgrid.jqGrid("addRowData", newrowid, dataRow, "first");
}
/*--------------数据保存----- -----------*/
function doSave($jqgrid){
var result = getParamArray($jqgrid);
var checkResult = result[0];
var paramArray = result[1];
if(checkResult){
//异步保存比例因子
saveDataBatch(paramArray,newrowids);
}
}
/*--------------获取参数数组----------------
* return : array (element1:验证结果 ; element2:参数数组)
*/
function getParamArray($jqgrid){
//定义参数数组
var paramArray = new Array();
var $check_val ;
var $zoneval ;
var $pasfval ;
var $pisfval ;
var $lasfval ;
var $lisfval ;
var rowidslength = newrowids.length;
var checkResult = true;
for(var i = rowidslength-1 ; i>= 0 ; i--){
var $params = $jqgrid.find("input[id^="+newrowids[i]+"]");
$check_val = $params.eq(0).is(':checked') ? 1:0;
$zoneval = $params.eq(1).val() ;
$pasfval = $params.eq(2).val() ;
$pisfval = $params.eq(3).val() ;
$lasfval = $params.eq(4).val() ;
$lisfval = $params.eq(5).val() ;
//校验参数 :当单数据成功,添加数组;否则跳出循环
if(checkParam($params,$zoneval,$pasfval,$pisfval,$lasfval,$lisfval)){
//定义比例因子对象
var param = new Object();
param.valid = $check_val ;
param.zoneID = $zoneval ;
param.factorPG = $pasfval ;
param.factorQG = $pisfval ;
param.factorPL = $lasfval ;
param.factorQL = $lisfval ;
param.caseID = $("#caseID").val() ;
paramArray[paramArray.length] = param ;
}else{
checkResult = false ;
break;
}
}
return [checkResult ,paramArray];
}
/*--------------批量保存数据------------------
* param: paramArray 数据组 ;
* newrowids 添加行的id编号
*/
function saveDataBatch(paramArray,newrowids){
var json = JSON.stringify(paramArray);
var url = ''+"/saveBatch" ;
$.ajax({url:url,type:"post",timeout:5000,data:{json:json},
success:function(data){
alert(data);
//重新加载页面
reloadGrid();
//将添加行的编号数组制空
newrowids.length = 0 ;
});
}
/*--------------批量删除----- -----------*/
function deleteBatch($jqgrid){
var ids=$jqgrid.jqGrid("getGridParam", "selarrrow");
//如果当前页面没有正在编辑的数据 就去数据库删除
if (!isRowNeedSave($jqgrid)){
crudDeleteSelected(ids, "");
}
//仅是在页面删除
else{
if(ids==null || ids.length==0)
{
alert("请选择要删除的记录");
return;
}
if(confirm("确定删除选中的记录吗?"))
{
var idsL = ids.length ;
for(var i =0 ; i 0 ? true : false ;
}
相关推荐
NULL 博文链接:https://vipshow.iteye.com/blog/1812381
自定义的用于处理GridView的固定(冻结)表头,单行或多行复杂表头不限,能兼容多种济览器版本,对tableLayout:fixed和auto这两种情况都是支持的。
下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: var id=$(‘#gridTable').jqGrid(‘getGridParam','selrow'); 如果想要获取选择多行的id,那这些id便封装成一个id数组,那可以使用以下...
主要为大家详细介绍了jqGrid表格底部汇总、合计行footerrow处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要介绍了jqGrid读取选择的多行的某个属性实现代码,需要的朋友可以参考下
本篇文章主要介绍了Jqgrid设置全选(选择)及获取选择行的值示例代码。需要的朋友可以过来参考下,希望对大家有所帮助
jqGrid是一个Ajaxed jQuery Grid插件。提供分页功能,添加、编辑、删除和搜索表中记录,支持多种数据类型输入:XML,JSON,Array等,多行选择,支持子表格,集成日期选择控件等等。
jqGrid是一个Ajaxed jQuery Grid插件。提供分页功能,添加、编辑、删除和搜索表中记录,支持多种数据类型输入:XML,JSON,Array等,多行选择,支持子表格,集成日期选择控件等等
jqGrid是一个Ajaxed jQuery Grid插件。提供分页功能,添加、编辑、删除和搜索表中记录,支持多种数据类型输入:XML,JSON,Array等,多行选择,支持子表格,集成日期选择控件等