如何获得每个列的总数?

时间:2013-11-06 16:54:10

标签: handsontable totals

我正在试图找出如何创建一个表,其第一行包含其相应列的总数,然后将其移动到上方的另一个表中,我已经能够做第二件事但是不是第一个,在它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为基础,但是当我尝试实现它时,它根本不起作用。有什么我想念的吗?

1 个答案:

答案 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进行测试。