在编辑该列的单个单元格时,我需要更改 jqxgrid 列中的所有单元格。因此,我在“cellvaluechanged”事件中遍历所有单元格:
var ri = -1;
$("#jqxGrid").on('cellvaluechanged', function (event) {
if(ri != -1) return;
var column = args.datafield;
if(column == 'min'){
var row = args.rowindex;
if(ri == -1)ri = row;
var griddata = $("#jqxGrid").jqxGrid('getdatainformation');
var v = args.value;
for (var i = 0; i < griddata.rowscount; i++) {
if(i != row){
$("#jqxGrid").jqxGrid('setcellvalue', i, 'min', v);
}
}
ri = -1;
}
});
问题是对于大型表格来说太慢了,因为循环中单元格的每次更改都会再次调用“oncellvaluechanged”函数。
有什么更优雅的方式来做到这一点?我想在循环之前取消绑定“oncellvaluechanged”并在最后绑定它,但不知道该怎么做。
谢谢