//保存添加行的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 ;
}
相关推荐
JqGrid是一款基于jQuery的数据表格插件,它提供了一种高效、可定制的方式来展示和操作表格数据。本文将深入探讨“数据表格JqGrid自适应列宽度”这一主题,以帮助开发者更好地理解和实现这一功能。 首先,JqGrid允许...
自定义的用于处理GridView的固定(冻结)表头,单行或多行复杂表头不限,能兼容多种济览器版本,对tableLayout:fixed和auto这两种情况都是支持的。
jqgrid合并行、合并列 先看示例图片最终效果: jqgrid合并单元格 .jqgrid { width: 80%; margin: 0 auto; } /* 这个代码是解决表头有一点点错位的问题 */ .ui-state-default, .ui-widget-content .ui-state...
它允许用户进行数据排序、筛选、分页、编辑、添加、删除和查看,同时还支持远程数据源,如JSON、XML、CSV等格式,能够与各种后端服务器技术(如PHP、ASP.NET、Java等)无缝集成。 **主要特性** 1. **数据展示**:...
6. **行选择**:用户可以选择单行或多行数据,以便执行进一步的操作,如删除或导出。 7. **自定义列**:jQGrid 允许开发者自定义列的显示,包括列宽、格式化、隐藏/显示等,以满足不同场景的需求。 8. **国际化**...
2. **可编辑表格**:jqGrid 支持表格数据的编辑功能,用户可以直接在表格内修改单元格数据,提供单行编辑、多行编辑和弹出式编辑等多种模式,满足不同场景的需求。 3. **文件结构**: - `src`:源码目录,通常包含...
1. 行内编辑与保存:通过`editRow`和`saveRow`方法实现行内编辑,通过`beforeSaveRow`和`afterSaveRow`事件处理数据验证和后端交互。 2. 表头过滤:使用`filterToolbar`方法开启表头过滤功能,可自定义过滤规则。 ...
其次,jqGrid支持添加、编辑和删除功能,使得用户可以直接在网页上对表格中的数据进行操作。这些操作通常通过弹出对话框或行内编辑模式实现,方便快捷。同时,它还支持数据的搜索功能,用户可以通过指定字段和条件来...
下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: var id=$(‘#gridTable').jqGrid(‘getGridParam','selrow'); 如果想要获取选择多行的id,那这些id便封装成一个id数组,那可以使用以下...
Guriddo_jqGrid_JS_5_2_X_demo 是一个关于JQGrid JavaScript库的中文文档和示例集合,适用于版本5.2.x。JQGrid是一个强大的、开源的JavaScript表格插件,用于在网页上展示和操作数据,特别适合大数据量、多列和复杂...
jqGrid是一款功能强大的JavaScript表格插件,用于在Web页面中展示和操作数据。它支持多种功能,包括排序、分页、搜索以及我们关注的底部汇总和合计行。本篇文章将详细探讨jqGrid如何实现表格底部的汇总和合计行,即`...
- **添加事件处理**:通过`jQuery("#grid_id").jqGrid('navGrid', '#pager', {edit: true, add: true, del: true})`添加导航栏并设置编辑、添加、删除等功能。 - **自定义功能**:根据需求使用jqGrid提供的API进行...
2. **编辑功能**:用户可以直接在表格中编辑数据,支持单行和多行编辑模式,以及添加、删除和保存记录的操作。 3. **列自定义**:开发者可以根据需求自由配置列的显示,包括列宽、标题、对齐方式、格式化等。 4. *...
8. **回滚和保存**:jqGrid 提供了方法来取消编辑(`restoreRow`)或保存编辑(`saveRow`),以便在用户编辑错误时能够撤销更改。 9. **分页和编辑**:在分页的jqGrid中,使用celledit模式时要注意,当用户在不同...
4. 添加交互功能:根据需求添加编辑、删除、保存等操作的事件处理函数,实现数据的增删改查。 5. 自定义样式:使用CSS调整表格的样式,使其符合项目的视觉风格。 6. 调试与优化:测试表格的各项功能,确保在不同...
- **方法**:提供了一系列方法来控制网格的行为,如添加行、删除行等。 #### 九、分页器(导航条) - **属性**:配置分页器的样式和行为。 - **事件**:与分页器相关的事件。 - **方法**:控制分页器的方法。 - **...
6. 行操作:你可以定义自定义的行操作,例如删除、保存和取消,通过监听 `clickRow` 和 `onSelectRow` 事件来实现。 在"jqGrid2"这个压缩包中,可能包含了一些示例代码和HTML文件,这些都是为了演示上述功能而准备...
通过`addRowData`、`delRowData`和`editRow`方法,可以实现数据的添加、删除和编辑。对于编辑,还有单行编辑、多行编辑和弹出式编辑模式。 三、功能扩展 1. **排序**:JQGrid默认支持列点击排序,通过`sortname`和`...
- **数据展示**:jqGrid支持多列、多行数据展示,可自定义列宽、排序、分页、搜索等。 - **编辑功能**:提供单元格、行级别的编辑,支持添加、删除、修改数据。 - **过滤和搜索**:内置高级搜索功能,用户可以按...