您的位置:首页 > 产品设计 > UI/UE

Easyui datagrid 后台删除列异常处理

2017-05-24 14:12 453 查看
1、问题描述

有一个datagrid列表,选中一列,点删除按钮,后台执行删除后,datagrid重新加载,没有选中任何一列数据,点删除按钮,还可以获取到有一个选中列。

function deleteIncomePayment(){
var row = projReturnDetailDataGrid.datagrid('getSelected');
if(row == null) {
$.messager.show('提示', "请选择要删除的回款方式", 'info');
}else{
parent.$.messager.confirm('您是否要删除当前回款方式?', function(b) {
if (b) {
parent.$.messager.progress({
title : '提示',
text : '数据处理中,请稍后....'
});
$.post('${pageContext.request.contextPath}/proj/income/deleteIncomePayment.do', {
id : row.id
}, function(json) {
parent.$.messager.progress('close');
if (json.success) {
$.messager.show('提示', json.msg, 'info');
//刷新列表
$('#projReturnDetailDataGrid').datagrid('reload');
}else{
$.messager.show('提示', json.msg, 'info');
}
}, 'JSON');

}
});
}
}


也就是说,在第一次删除数据后,当前datagrid 重新reload后,在没有选中任何一条数据的情况下,再次点删除按钮,用下面的代码获取datagrid的选中行,还是可以获取到数据。

var row = projReturnDetailDataGrid.datagrid(‘getSelected’);

2、问题处理

在删除成功后,当前datagrid 重新reload前,添加两行代码发如下:

//获取当前列表的选中行的序列
var rowIndex = $('#projReturnDetailDataGrid').datagrid('getRowIndex', row);

//根据选中行的序列,删除列
$('#projReturnDetailDataGrid').datagrid('deleteRow', rowIndex);




这样修改后,第一次删除数据后,在没有选中任何一条数据表情况下,再次点删除按钮,会弹出提示“请选择要删除的回款方式”。

3、datagrid清空数据的一个方法:

$('#productDetailDataGrid').datagrid('loadData', { total: 0, rows: [] });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐