关于dhtmlx.common.js的deleteRow_ex方法的改进

关于dhtmlx.common.js的deleteRow_ex方法的改进

更改前代码:

 * 删除选中记录
 */
dhtmlXGridObject.prototype.deleteRow_ex = function(){
	var dhxGrid = this;
	var deleteIds = dhxGrid.getCheckedRows(0);

	if(deleteIds==""){
		var deleteIds=dhxGrid.getSelectedRowId();
	}
	if(deleteIds == "" || deleteIds == null){
		dhtmlx.message({text: "请先选择记录"});
		return;
	}

	dhtmlx.confirm_ex("确定删除么?", function(result){
		if(result){
			$.post(dhxGrid.remoteDeleteUrl, {"deleteIds": deleteIds}, function(json){
				if(dhxGrid.useDefaultOnRemoteDeleteFinished == true){
					dhxGrid._onRemoteDeleteFinishedDefault(json.deleteIds, json);
				}
				else if(typeof dhxGrid.useDefaultOnRemoteDeleteFinished == "function"){
					dhxGrid.onRemoteDeleteFinished(dhxGrid, json.deleteIds, json);
				}
			});
    	}
	});
	
}var deleteIds = dhxGrid.getCheckedRows(0);

	if(deleteIds==""){
		var deleteIds=dhxGrid.getSelectedRowId();
	}
	if(deleteIds == "" || deleteIds == null){
		dhtmlx.message({text: "请先选择记录"});
		return;
	}

	dhtmlx.confirm_ex("确定删除么?", function(result){
		if(result){
			$.post(dhxGrid.remoteDeleteUrl, {"deleteIds": deleteIds}, function(json){
				if(dhxGrid.useDefaultOnRemoteDeleteFinished == true){
					dhxGrid._onRemoteDeleteFinishedDefault(json.deleteIds, json);
				}
				else if(typeof dhxGrid.useDefaultOnRemoteDeleteFinished == "function"){
					dhxGrid.onRemoteDeleteFinished(dhxGrid, json.deleteIds, json);
				}
			});
    	}
	});
	
}

 

可能导致的错误:当删除表格数据的时候,如果表格中没有checkbox列(type="ch"),下面的代码行会导致deleteIds的值为当前表格的所有的行的Id;

 

 

<span style="color:#ff0000">var deleteIds = dhxGrid.getCheckedRows(0);</span>

解决方法:

在该行代码之后添加下列代码:

var colType=dhxGrid.getColType(0);//得到表格的第一列的type
if(colType!="ch"){//若第一列的type!="ch",就说明上面通过getCheckedRows()方法取得的数据为无效数据,
    var deleteIds=dhxGrid.getSelectedRowId();//若coltype!="ch",则使用表格的getSelectedRowId()方法取得当前选中行Id复制给deleteIds
}

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值