欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Jquery下EasyUI组件中的DataGrid结果集清空方法_jquery

程序员文章站 2022-03-26 07:50:57
...
我们有一个模块如下图,要求选择“地区”及“代维公司”后,刷新第一个DataGrid框体

并以第一个结果集中的行为数据条件点击完成下一个框体的检索

Jquery下EasyUI组件中的DataGrid结果集清空方法_jquery

现在我们已完成相应功能,并在选择“地区”及“代维公司”并保证这两个选项同时有值后,自动刷新第一个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);
}
}

殊途同归