JQgrid实现全表单元格编辑

 1 jQuery("#baseWageDataValueGrid").jqGrid(‘setGridParam‘,{‘cellEdit‘:true});
 2
 3                              //修改所有td tabindex
 4                              var tdList = $(‘#baseWageDataValueGrid‘).find(‘td‘);
 5                              if(!!tdList && tdList.length>0){
 6                                  $.each(tdList,function(i,o) {
 7                                      $(o).attr(‘tabindex‘,‘1‘);
 8                                  });
 9                              }
10                              //依次发起单元格编辑,并保存
11                              var list = jQuery("#baseWageDataValueGrid").getDataIDs();
12                              var putList = [];
13                              if(!!list && list.length>0) {
14                                  for(var i=list.length;;i-- ) {
15                                      var td = $(‘#baseWageDataValueGrid‘).find("td[tabindex=‘0‘]");
16                                      if(td.length>0) {
17                                          var put = {};
18                                          put.td = td;
19                                          put.input = td.get(0).children[0];
20                                          putList.push(put);
21                                      }
22                                      if(i>0) {
23                                          jQuery("#baseWageDataValueGrid").jqGrid(‘editCell‘,i,7, true);
24                                      } else {
25                                          break;
26                                      }
27                                  }
28                              }
29                              //还原加载后被删除 元素,提交元素事件
30                              if(putList.length>0) {
31                                  $.each(putList,function(i,put) {
32                                      $(put.td).empty();
33                                      $(put.td.get(0).parentNode).addClass(‘edited‘);
34                                      $(put.td.get(0).parentNode).addClass(‘selected-row‘);
35                                      $(put.td.get(0).parentNode).addClass(‘active‘);
36                                      $(put.td).attr(‘tabindex‘,‘0‘);
37                                      $(put.td).addClass(‘edit-cell‘);
38                                      $(put.td).addClass(‘success‘);
39                                      $(put.td).append(put.input);
40 //    给单元格注册自定义事件
41                                      $(put.input).on(‘change‘,function(o,n) {
42                                          var _this = this;
43                                          var m = this.value;
44                                          var rowid= this.attributes[‘rowid‘].value;
45                                          $.ajax({
46                                              url: __ctx+‘/platform/performance/baseWageDataValue/updateSave.htm‘,
47                                              data:{id:rowid,value:m,itemId:$(‘#itemId‘).val()},
48                                              success:function (data) {
49                                                  // 根据返回的数据版本ID判断是否重新加载数据
50                                                  baseWageDataValue.saveResponse(data);
51 //                                                //使还原的 元素与事件只能使用一次
52 //                                                $(_this.parentNode).removeClass(‘success‘);
53 //                                                $(_this.parentNode).removeClass(‘edit-cell‘);
54 //                                                $(_this.parentNode.parentNode).removeClass(‘edited‘);
55 //                                                $(_this.parentNode.parentNode).removeClass(‘selected-row‘);
56 //                                                $(_this.parentNode.parentNode).removeClass(‘active‘);
57 //                                                $(_this.parentNode).empty();
58 //                                                //修改显示值
59 //                                                jQuery("#baseWageDataValueGrid").jqGrid(‘setCell‘,rowid,7,m,false,false, true);
60                                              },
61                                              error:function () {
62                                                  layer.msg("网络错误!");
63                                              }
64                                          })
65                                      });
66                                  });
67                              }
68                              //屏蔽原有编辑事件
69                          jQuery("#baseWageDataValueGrid").jqGrid(‘setGridParam‘,{‘cellEdit‘:false});

将JS代码加入JQgrid 的gridComplete(加载完成后事件)中后,实现效果如下:

原文地址:https://www.cnblogs.com/tangzeqi/p/12122918.html

时间: 2024-11-11 18:59:17

JQgrid实现全表单元格编辑的相关文章

jqGrid单元格编辑详解

单元格编辑 单元格编辑提供给用户修改一行中的单个单元格内容的功能,开发者可以通过ajax或者单元格编辑事件对修改的数据进行处理. 通过下面的行为,单元格编辑支持键盘导航和执行单元格编辑操作 点击一个不可编辑的单元格会选中它,然后可以通过上下左右键移动到其他单元格 当移动到一个可编辑的单元格,可以按下Enter键将单元格切换到编辑模式.当再次按下Enter键,或者tab,点击其他单元格将会执行保存操作.按下Esc键取消编辑并且恢复为之前的值.当编辑一个单元格时,光标键始终在此单元格内. 点击可编辑

ExtJs表格控件(三)----单元格编辑与提交修改

ExtJs的EditorGrid控件提供了动态修改某个单元格的方法,首先如果要使用编辑插件,首先必须要在需要的列上添加editor属性,只有添加了editor属性的列才可以被编辑,否则无法编辑.同时我们可以在editor中添加一些限制或者约束条件,例如禁止编辑的单元格为空,首先在定义列的时候使用如下方法定义: var columns = [{ header : '第一列', dataIndex : 'first', renderer:datarender, editor:{ allowBlank

C# Excel 单元格编辑

public class ExcelReport    {  //Excel 文件修改要引用COM组件Microsoft Excel 11.0 Object Library  //using Microsoft.Office.Interop.Excel;  /// <summary>        /// 单元格修改        /// </summary>        /// <param name="filePath">excel路径<

MFC List Control控件添加单元格编辑和单元格下拉列表项以适用于数据库相关操作

作为现代的软件,往往是连着数据库的,而连着和用户方便地操作之间,还有着界面这道坎.MFC是Windows上比较好开发用户界面的框架,然而其自带的控件中没有对于数据库表格支持较好的控件,而使用网上提到的 DataGrid 等控件在本人的win8.1+VS2013平台上老出现找不到控件或者头文件的问题,搞的烦死人.最后想到 List Control 控件只要稍作修改,加上单元格编辑和单元格下拉列表,其实就能和数据库进行良好的对接,一百度,果然有人已经做了这件事,实在是太让人感动了!       

[DevExpress]GridControl单元格编辑验证

关键代码: /// <summary> /// 自定义单元格验证 /// </summary> /// <param name="view">GridView</param> /// <param name="e">BaseContainerValidateEditorEventArgs</param> /// <param name="fieldNameHandler"

GridControl单元格编辑验证的方法

本文实例演示了DevExpress实现GridControl单元格编辑验证的方法,比较实用的功能,具体方法如下: 主要功能代码如下: /// <summary> /// 自定义单元格验证 /// </summary> /// <param name="view">GridView</param> /// <param name="e">BaseContainerValidateEditorEventArgs

jqgrid 设置单元格编辑/不可编辑

首先设置不可编辑,如下代码: $("#jqgrid1").jqGrid('setCell', rowId, 'column', '0', 'not-editable-cell'); 在单元格上设置一个'not-editable-cell'就可以了,如果需要设置为可编辑,那么可以使用下面的代码: 1 function removeCellClass(rowid,grid,clumnName,className) 2 { 3 var iCol = getColumnIndexByName(

DevExpress控件 DataGrid 单元格编辑 回车

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CYSoft.UI.Common; using CYSoft.Common; using CYSoft.TS.Entit

EasyUI Datagrid 自定义列、Foolter及单元格编辑

1:自定义列,包括 Group var head1Array = []; head1Array.push({ field: 'Id', title: 'xxxx', rowspan: 2 }); head1Array.push({ title: 'yyyy', colspan: 4 }); var head2Array = []; //.each(units,function(i,unit)//colArray.push(field:′Id′,title:unit.Name);//);head2