Jquery下EasyUI组件中的DataGrid结果集清空方法
我们有一个模块如下图,要求选择“地区”及“代维公司”后,刷新第一个datagrid框体
并以第一个结果集中的行为数据条件点击完成下一个框体的检索
现在我们已完成相应功能,并在选择“地区”及“代维公司”并保证这两个选项同时有值后,自动刷新第一个datagrid(dg1)结果集
但是在dg1刷新完毕后,后面两个紧跟的dg2及dg3还是保有之前的结果
我试图更改dg2及dg3的查询条件,手动传一个空的id值给query()方法,但是后被后台的controller层当作首次查询return掉
于是查到这样一个方法,可以给它们一个空结果集串
如下
. 代码如下:
//修改代维公司选框后重新提交查询
function query1(){
var params = $('#dg1').datagrid('options').queryparams;
params.region = $('#region').combotree('getvalue');
params.company_id = $('#company_id').combotree('getvalue');
params.contract_type = "line";//*目前写死为线路,后期再优化为标签页
if(params.company_id == "" || params.region == ""){
return;
}
$("#dg1").datagrid('load');
$('#dg2').datagrid('loaddata', { total: 0, rows: [] });//清空下方dategrid
$('#dg3').datagrid('loaddata', { total: 0, rows: [] });//清空下方dategrid
}
这样便可以顺利清空dg2及dg3中结果集的数据
还有一种方法,就是遍历并删除结果集中的数据
. 代码如下:
var item = $('#filegrid').datagrid('getrows');
if (item) {
for (var i = item.length - 1; i >= 0; i--) {
var index = $('#filegrid').datagrid('getrowindex', item[i]);
$('#filegrid').datagrid('deleterow', index);
}
}
殊途同归