1

我试图找出如何创建一个表,其第一行包含其对应列的总数,然后将其移动到上侧的另一个表,我已经能够做第二件事但不是第一件事,在我的 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);
  };

我一直基于它工作的这个 JSFiddle 代码,但是当我尝试实现它时,它根本不起作用。有什么我想念的吗?

4

1 回答 1

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 测试。

于 2014-03-14T15:33:25.480 回答