自定义jqGrid编辑功能,当行获取焦点时编辑,失去焦点时保存
http://www.360doc.com/content/17/0719/15/9200790_672577533.shtml
/*******************************************
* Description:
* 自定义jqGrid编辑功能,当行获取焦点时编辑,失去焦点时保存
*
* 调用方法:
* 在jGrid的(opts参数中)"editurl"属性的上面或下面添加属性 customEdit: true
*
* Author:
*******************************************/
var JqGridCustomEdit = {
_cacheName: "editGrid_PrevRowKey",
_saveBtnName: "editGrid_BtnSave", init: function (gridID) {
//this.createSaveButton(gridID);
this.createRowBlurEvent(gridID);
}, createSaveButton: function (gridID) {
var self = this;
var saveBtnID = gridID + "_" + self._saveBtnName;
var htmlButton = '<input type="button" id="' + saveBtnID + '" onClick="JqGridCustomEdit._saveData(\'' + gridID + '\')" style="display:none" value="saveRow" />';
$("body").append(htmlButton);
}, createRowBlurEvent: function (gridID) {
var self = this;
$("body").bind("click", function (event) {
self.onRowBlur(gridID, event);
});
}, onSave: function (gridID) {
var saveBtnID = gridID + "_" + this._saveBtnName;
$("#" + saveBtnID).click();
},
showEditCss: function (gridID, show) {
if (show) {
$("#" + gridID + "_ilsave").removeClass('ui-state-disabled');
$("#" + gridID + "_ilcancel").removeClass('ui-state-disabled');
$("#" + gridID + "_iladd").addClass('ui-state-disabled');
$("#" + gridID + "_iledit").addClass('ui-state-disabled');
}
else {
$("#" + gridID + "_ilsave").addClass('ui-state-disabled');
$("#" + gridID + "_ilcancel").addClass('ui-state-disabled');
$("#" + gridID + "_iladd").removeClass('ui-state-disabled');
$("#" + gridID + "_iledit").removeClass('ui-state-disabled');
}
},
onSelectRow: function (gridID, rowid) {
var self = this;
var rowKeyCacheID = gridID + "_" + self._cacheName;
var prevRowKey = $("body").data(rowKeyCacheID); $("body").data(rowKeyCacheID, rowid); JqGridFormatCell.beforEditRow(gridID, rowid);
$("#" + gridID).jqGrid("editRow", rowid, $("#" + gridID).get().p.editParams);
self.showEditCss(gridID, true);
}, onRowBlur: function (gridID, event) {
var haveEditRow = false;
$("#" + gridID).find("tr").each(function () {
if ($(this).attr("editable") == "") {
haveEditRow = true;
return false;
}
}); if (haveEditRow) {
var self = this;
var rowid = $("#" + gridID).jqGrid('getGridParam', 'selrow');
if (rowid == null) { return; } var eventObj = ((event.srcElement) ? event.srcElement : event.target);
var prev = false;
var next = false;
var pClass = $(eventObj).parent().attr("class");
var nClass = $(eventObj).parent().attr("class");
if (pClass) prev = pClass.indexOf("ui-datepicker-prev") != -;
if (nClass) next = nClass.indexOf("ui-datepicker-next") != -;
if ($("#ui-datepicker-div").find(eventObj).length > || prev || next) { return; } if (eventObj.tagName == "TD") {
var currgriddom = $("#" + gridID).find(eventObj).length;
if (currgriddom == ) {
self._saveData(gridID);
}
// var $eventTR = $(eventObj).parent();
// if ($eventTR.attr("id") != rowid) {
// self._saveData(gridID);
// }
}
else if (eventObj.tagName == "INPUT" || eventObj.tagName == "SELECT" || eventObj.tagName == "OPTION") {
var rid = $(eventObj).attr("id");
if (rid && rid.indexOf(rowid) == -) {
self._saveData(gridID);
}
}
else {
self._saveData(gridID);
}
}
}, _saveData: function (gridID) {
var self = this;
var rowKeyCacheID = gridID + "_" + self._cacheName; var rowid = $("body").data(rowKeyCacheID);
if (rowid == null) {
return false;
}
if (rowid == "new_row" && $("#" + rowid).attr("class").indexOf("jqgrid-new-row") != -) {
$("#" + gridID).jqGrid('saveRow', rowid, $("#" + gridID).get().p.addParams);
} else {
$("#" + gridID).jqGrid('saveRow', rowid, $("#" + gridID).get().p.editParams);
}
self.showEditCss(gridID, false);
// $("#" + gridID).jqGrid('saveRow', rowid, function (result) {
// self.showEditCss(gridID, false);
// if (result.responseText == "") {
// //$.jAlert("Update is missing!");
// return false;
// } else {
// $("body").removeData(rowKeyCacheID);
// //$.jAlert("Update is successful");
// return true;
// }
// });
}
自定义jqGrid编辑功能,当行获取焦点时编辑,失去焦点时保存的更多相关文章
- JAVAEE——BOS物流项目09:业务受理需求分析、创建表、实现自动分单、数据表格编辑功能使用方法和工作单快速录入
1 学习计划 1.业务受理需求分析 n 业务通知单 n 工单 n 工作单 2.创建业务受理环节的数据表 n 业务通知单 n 工单 n 工作单 3.实现业务受理自动分单 n 在CRM服务端扩展方法根据手 ...
- ABBYY FineReader 15 PDF文档编辑功能详解
ABBYY FineReader 15(Windows系统)OCR文字识别软件作为一款通用 PDF 工具,能轻松有效地对各种 PDF文档和纸质文档,进行数字化.检索.编辑.转换.包含.分享和合作,而其 ...
- Dynamics 365新功能:可编辑的网格(行内编辑)
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复238或者20161127可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- jquery-easyui 中表格的行编辑功能
具体实现代码如下: <table id="tt"></table> $('#tt').datagrid({ title:'Editable DataGrid ...
- EasyUI DataGrid 实现单行/多行编辑功能
要实现 EasyUI DataGrid 的可编辑很简单,在需要编辑的列添加 editor [编辑器]就可以了. 单行编辑 // 初始化数据列表 function initDatagrid() { $( ...
- jqgrid 单击行启用行编辑,切换行保存原编辑行
为了加速表格互动编辑,我们往往希望通过选中行就触发了行编辑,完成行编辑后,再选中另一个行做编辑,同时上一个编辑行被自动保存,直至完成需要的编辑内容. 页面效果可能如下: 1)设置需要编辑的列 edit ...
- Visual Studio 在调试时启用编辑功能
Visual Studio边调试边修改 如果你在调试一个web应用程序的时候,想进行编辑,可以有如下两种方法: 方法一:在web项目的属性页里的web标签页,选中"启用编辑并继续&qu ...
- 事务代码SE16N查看数表时可以使用命令激活编辑功能
&sap_edit命令可以激活SE16N编辑功能,维护数据表,但是是除了主键不能维护外都可以修改
- easyui datagrid的行编辑器editor 如何实现新增时可修改,编辑时,不可修改
项目出现一个需求,要求用户界面的用户名,新增时,可自由输入,编辑时,不可修改 html页面 <table id="gridlist" data-bind="data ...
随机推荐
- Html转图片 -- wkhtmltox
关于wkhtmltox,是一个可以把HTML转换为图片和pdf的工具. 不多介绍了,详见官网 https://wkhtmltopdf.org/ PHP 扩展 https://github.com/kr ...
- Py2与Py3的区别
总结Py2 与Py3 的区别 1 编码区别 在Python2中有两种字符串类型str和Unicode. 默认ASCII python2 str类型,相当于python3中的bytes类型 python ...
- Numpy与List之间的转换
说明:在做NLP的时候,经常需要查看当前数组数据的维度,也就是data.shape,而List是没有这个属性的,因此需要先将其转换成Numpy,以下为两者户想转换的方法 List转Numpy:nump ...
- LoRaWAN协议(一)------架构解析
摘自:http://www.cnblogs.com/answerinthewind/p/6200497.html LoRaWAN协议(一)-----架构解析 (1)LoRaWAN分层 LoRaWAN总 ...
- js动态添加li,你添加的li具有你绑定的事件
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <%@page i ...
- 在线关闭 CLOSE_WAIT状态TCP连接
1.查看某个端口的所有TCP连接: [root@Centos projects]# netstat -anp | tcp6 ::: :::* LISTEN /java tcp6 CLOSE_WAIT ...
- python编写的banner获取代码的两种方式
1.无选项和帮助信息 #!/usr/bin/env python #coding:utf-8 import socket import sys import os from threading imp ...
- P1066 图像过滤
P1066 图像过滤 转跳点:
- python里的def 方法中->代表什么意思?
功能注释 函数注释是关于用户定义函数使用的类型的完全可选元数据信息(请参阅PEP 3107和 PEP 484了解更多信息). 注释__annotations__ 作为字典存储在函数的属性中,对函数的任 ...
- ThinkCMF框架上的任意内容包含漏洞
一.背景 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建. ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据 ...