|
发表于 2017-11-3 09:22:14
|
显示全部楼层
这个全选都是前端js操作的,跟服务端性能无关
全选的时候是 Model.prototype.addAll = function(selectData){
selectData.each(function(p){
this.add(p.row);
},this);
};
Model.prototype.add = function(row){
if(row instanceof Data.Row){
var data = this.comp('selectData');
if(data.isExist(row.getID())) return;
var defaultValue = {};
$.each(data.defCols, function(col,v){
defaultValue[col] = row.val(col);
});
data.newData({defaultValues:[defaultValue]});
}
};
两层遍历,数据多的时候js中肯定会影响性能,如果要一次选择的数据多可以发一个action到后端取数据返回loadData给data
左边区域的选择后不显示,可以执行data的remove方法移除,如果不数据库中也不需要就执行deleteData方法删除并保存数据
js是单线程操作的,如果需要进度条可以用popOver在遍历之前控制popOver显示,遍历后隐藏popOver |
|