Handsontable:如何在渲染功能中更改单元格值

时间:2015-03-13 16:33:24

标签: javascript handsontable

我有类似的代码:

<script>
$(document).ready(function () {
    var data = @Html.Raw(ViewBag.Data);

function sumPreviousValues(instance, td, row, col, prop, value, cellProperties) {
  Handsontable.renderers.TextRenderer.apply(this, arguments);
    td.val = 'SUM SEVERAL PREVIOUS CELLS';
}

     container = document.getElementById('example1'),
      settings1 = {
        data: data,
        colHeaders: @Html.Raw(ViewBag.TableHeader),
        cells: function (row, col, prop) {
            var cellProperties = {};

            if (col == 16) {
                cellProperties.renderer = sumPreviousValues;
            }
    return cellProperties;
        }
      },

    hot = new Handsontable(container,settings1);
    hot.render();

关键是修改函数sumPreviousValues()

但我不知道如何访问td值?如果可以访问其他小区&#39;价值如td[index]。 任何的想法?我没有在文档中找到选项。

谢谢

3 个答案:

答案 0 :(得分:1)

我想我明白你想做什么,这是一个简单的解决方案:

从自定义渲染器内部,您可以调用:

instance.getDataAtCell(row, col);

这将为您提供row,col处单元格的数据(值)。希望有所帮助:)

另外,要访问当前td的值,只需使用value变量:P查看函数定义。你实际上是在传递它并且可以使用。

答案 1 :(得分:1)

您可以使用jExcel执行此操作,它不是可处理的,但可以完成此任务。 http://bossanova.uk/jexcel

data = [
    ['3D Systems ', 'DDD', 15.08, 15.1, 0.01, 0.07],
    ['3M', 'MMM', 178.34, 178.65, 0.49, 0.28],
    ['58.com', 'ADR WUBA', 30.01, 29.1, -0.76, -2.55],
    ['500.com', 'ADR WBAI', 13.48, 13.56, 0.1, 0.74],
];

// Create the spreadsheet based on data
$('#my').jexcel({
    data:data,
    colHeaders: ['Name', 'Symbol', 'Open', 'Close', '% Net', '% Change'],
    colWidths: [ 300, 80, 100, 100, 100, 100 ],
});

// Live update of the settings
$('#my').jexcel('updateSettings', {
  cells: function (cell, col, row) {
    if (col == 4 || col == 5) {
      // To access different cells. Where x = column, y = row starting on zero.
      var cell = '#' + x + '-' + y;
      cell = $('#my').find(cell);
      val = $('#my').jexcel('getValue', $(cell));
    }
  }
});

答案 2 :(得分:0)

要确定此问题的资格,您是否可以检查传递到td的{​​{1}}参数。这将有助于理解这是什么,我认为它是一个HTML DOM节点。如果是这样,您可以使用sumPreviousValues()

调整其值

有关这方面的更多信息,请访问: http://www.w3schools.com/jsref/prop_html_innerhtml.asp