easyui datagrid editor在编辑状态下更新列值并不结束编辑。

当尝试在easyui datagrid的编辑状态下更新列值时,由于添加了"class:datagrid-editable",导致结束编辑时无法正常获取editor对象。为了解决这个问题,需要在easyui.min.js源码中增加特定处理,确保在更新列值后能够正确结束编辑。
摘要由CSDN通过智能技术生成
首先是自定义了一个方法uodateColumn更新列值

/**
			 *自定义的修改列值方法 
			 */
			$.extend($.fn.datagrid.methods, {
				updateColumn: function(datagrid,data) {
					datagrid.each(function(){
						//获取缓存中的配置数据
						var gridObj=$.data(this,"datagrid");
						var opts=gridObj.options;
						//获取行数据
						var row=opts.finder.getRow(this,data.index);
						data.row=data.row||{};
						var update=false;
						//判断是否需要更新
						for(var updateColumn in data.row){
							if(data.row[updateColumn]!==row[updateColumn]){
								update=true;
								break;
							}
						}
						if(update){
							var tr=opts.finder.getTr(this,data.index);
							var view=opts.view.renderRow.call(opts.view,this,["attr1"],true,data.index,data.row);
							if(tr.hasClass("datagrid-row-editing")){
								//找到所有需要更新值的列
								tr.find('div').each(function(i){
									if(data.row[$(this).parent().attr('field')]!=undefined)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值