Handsontable和hot-formula-parser

时间:2018-03-26 12:05:47

标签: handsontable

是否可以将自定义函数('ADD_5')包含/注册到handsontable?

以下示例正在运行,从B2到B4的所有单元格值都等于42.只有B5 = ADD_5(37)返回#NAME?而不是42。

我必须在哪里定义函数并将其添加到表的现有解析器中?

<div id="example1" class="handsontable"></div>

<script data-jsfiddle="example1">
  $(document).ready(function () {
    var data1 = [
      ['Number', 'Answer'],
      [10, 42],
      [10, '=SUM(A2:A5)'],
      [10, '=A2 + A3 + A4 + A5'],
      [12, '=ADD_5(37)']
    ];
    var container1 = $('#example1');
    container1.handsontable({
      data: data1,
      minSpareRows: 1,
      colHeaders: true,
      rowHeaders: true,
      contextMenu: true,
      manualColumnResize: true,
      formulas: true
    });
    parser.setFunction('ADD_5', function(params) {
      return params[0] + 5;
    });
  });
</script>

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

According to official doc

  

Formulas插件允许Handsontable处理提供的数据中定义的公式表达式。这个插件使用一个公式解析器库,它从formula.js中获取大部分函数。

您需要将公式添加到formula.js然后