情景模拟:
假设datagrid中有11条数据,每页显示10条,共2页。操作datagrid的第2页时,将该页数据全部删除,后台返回数据为空。
原因分析:
由于datagrid的分页加载,删除数据时,传到后台的是当前页(也就是2),所以后台返回的数据即为空。
处理方案:
刷新datagrid时,判断使用‘reload’还是‘load’。
reload:刷新datagrid,仍停留在当前页。
load:刷新datagrid,并返回首页。
//获取datagrid当前页的行数
var rows=$('#datagridID').datagrid('getData').rows.length;
if(rows<2){ //表示当前尾页全部删除完,采用加载首页
$('#datagridID').datagrid('load');
}else{
$('#datagridID').datagrid('reload');
}
备注:如果当前页行数按上述方法取不到,则可console一下$('#datagridID').datagrid('getData'),看下当前页的行数怎么取。