Handsontable : how to change cell value in render function

余生颓废 提交于 2019-12-12 17:01:22

问题


I have similar code:

<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();

The key is to modify the function sumPreviousValues()

But I dont know how to access the td value ? and if it is possible to access other cells' value like td[index]. Any idea? I didn't find options in documentation.

Thank you


回答1:


I think I understand what you want to do and here is a simple solution:

From inside the custom renderer, you can call:

instance.getDataAtCell(row, col);

This will give you the data (value) of the cell at row,col. Hope that helps :)

Also, to access the value at the current td, you just use the value variable :P Look at the function definition. You are literally passing it in and is available to you.




回答2:


To qualify this question, can you inspect the td param being passed into sumPreviousValues(). It would help to understand what this is, I would assume it's a HTML DOM node. If so, you could adjust it's value using td.innerHTML

More information on this can be found here: http://www.w3schools.com/jsref/prop_html_innerhtml.asp



来源:https://stackoverflow.com/questions/29037422/handsontable-how-to-change-cell-value-in-render-function

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!