你用的是selectionChanged事件,那么肯定是选中区域发生变化的时候就会触发一次,这个四条记录是触发了四次,和单元格数量没有任何关系
单元格区域是根据selection获取到的选中区域信息,你自己来算合计值的。可以通过getCellData循环获取单元格值,加起来就是你要的结果
- selectionChanged: function (s, e) {
- var sel = theGrid.selection;
- console.log(sel);
- var sum=0;
- for (var r = Math.min(sel.row,sel.row2); r <= Math.max(sel.row,sel.row2); r++) {
- for (var c = Math.min(sel.col,sel.col2); c <= Math.max(sel.col,sel.col2); c++) {
- var v=theGrid.getCellData(r,c,false);
- if(typeof v === 'number'){
- sum+=v;
- }
- }
- }
- theGrid.columnFooters.setCellData(0, 3, sum);
- }
复制代码 |