easyui datagrid中的双击行编辑保存功能demo

  • Post author:
  • Post category:其他


1、首先在datagrid中写双击方法,如图:

在这里插入图片描述

2、实现双击行方法(onDblClickCell),结束编辑方法(endEditing),单元格失去焦点执行的方法(onAfterEdit)

var editIndex = undefined;

var insertRowIndex;

 //结束编辑

function endEditing() {//该方法用于关闭上一个焦点的editing状态

if (editIndex == undefined) {


return true

}

if ($(’#datagrid’).datagrid(‘validateRow’, editIndex)) {


$(’#datagrid’).datagrid(‘endEdit’, editIndex);

editIndex = undefined;

return true;

} else {


return false;

}

}

//开始编辑

function onDblClickCell(index,field,value) {


if (endEditing()) {


$(this).datagrid(‘beginEdit’, index);

var ed = $(this).datagrid(‘getEditor’, {index:index,field:field});

// $(ed.target).focus();

editIndex = index;

}

}

//单元格失去焦点执行的方法

function onAfterEdit(index, row, changes) {


var boolean = false;

var updated = $(’#datagrid’).datagrid(‘getChanges’, ‘updated’);

//获取新增行数据

if(updated.length < 1){


var rows = $(“#datagrid”).datagrid(“getRows”);

row = rows[insertRowIndex];//新增行数据

}

   var startTime = row.startTime != undefined ? row.startTime : "";
   var endTime = row.endTime != undefined ? row.endTime : "";
   if(startTime != "" || endTime != ""){
	   boolean = true;
   }

   if (!boolean) {
       editRow = undefined;
       $('#datagrid').datagrid('unselectAll');
       return;
   } else {
       //保存
       var url = '/rtoc/entity/RtocCheckWellNochecktime';
       if(row.pkWellNochecktimeId != null && row.pkWellNochecktimeId != ""){
       	url += '/'+row.pkWellNochecktimeId
       }
		$.ajax({
			url : url,
			type : 'POST',
			contentType : 'application/json',
			data : JSON.stringify(row),
			success : function(data){
				$('#datagrid').datagrid('reload');
			}
		});
       
   }

}



版权声明:本文为qq_39365424原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。