我正在试图找出如何创建一个表,其第一行包含其相应列的总数,然后将其移动到上方的另一个表中,我已经能够做第二件事但是不是第一个,在它my customJSFiddle找到我已经完成的工作,这是我正在尝试的代码部分:
$('#totalOtherConceptC_DataTable').handsontable({
data: dataOtherConceptCDetails,
colHeaders: false,
columns: [{
type: 'text'
}, {
type: 'numeric',
renderer: function(instance, td, row, col, prop, value){
if(row == instance.countRows() - 1){
value = Operations.getTotal(1);
}
Handsontable.NumericRenderer.apply(this, arguments);
}
}]
});
每列的计算总数
Operations.getTotal = function(col){
return dataOtherConceptCDetails.reduce(function(sum, row){
return sum + row[col];
}, 0);
};
我一直以this JSFiddle code为基础,但是当我尝试实现它时,它根本不起作用。有什么我想念的吗?
答案 0 :(得分:3)
我也有这个问题......这个例子从未在独立实现上工作过...这是我可以提出的解决方法:jsFiddle
renderer : function(instance, td, row, col, prop, value) {
if (row == instance.countRows() - 1) {
value = parseFloat(document.getElementById("cellTotal").value);
} else {
setTotalValue(row, value);
}
Handsontable.renderers.NumericRenderer.apply(this, arguments);
请注意,我必须使用隐藏占位符来保留列单元格的总和。可能不是最好的方法,但为我工作。希望这有助于节省宝贵的时间来解决这个问题...
使用IE 10和Chrome进行测试。