ExtJS中使用SelectionModel获取Records批量删除的前台实现

批量删除的基本方法是把需要删除的一组ID使用字符串形式传到后台,然后再后台把字符串转换成数组获取到所有的ID进行处理。

① 使用getSelectionModel()获取GridPanel的SelectionModel,主要表格的ColumnModel需要设置选择模型:

var checkColumn = new Ext.grid.CheckboxSelectionModel();

② 使用SelectionModel的getSelections()方法获取选中的Record ③ 使用Record的get方法获取对应字段的值 ④ 把所有字段的值组装成字符串传给后台。

具体实现代码如下:

var gridSelMode = _tab4_styleGridPanel.getSelectionModel();
var selRecords = gridSelMode.getSelections();
var selIds = null;
if(selRecords.length == 0){
Ext.MessageBox.alert(‘信息提示’,”请选择需要推荐的产品”);
return;
}
for(var i = 0; i < selRecords.length; i++){
selIds += selRecords[i].get(“style_id”);
if(i < selRecords.length-1) selIds += “,”;
}
Ext.Ajax.request({
url:’product/ProductStyle-recommend.action’,
method:’post’,
params: { productStyleId: selIds},
waitMsg:’执行推荐操作中,请稍后….’,
success:function(response,opts){
Ext.MessageBox.alert(‘信息提示’,”推荐成功!”);
_tab4_styleGridPanel.getStore().load({
params:{
start:0,
limit:4
}
});
},
failure:function(response,opts){
Ext.MessageBox.alert(‘信息提示’,”推荐失败”);
}
});

arthinking wechat
欢迎关注itzhai公众号