Handsontable:预填充柱

时间:2012-12-09 14:14:52

标签: javascript jquery handsontable

我想做类似于http://handsontable.com/demo/prepopulate.html的事情,除了我想要预填充列而不是行。

我承认我必须使用一个函数来定义默认渲染。但是,它似乎只在添加行而不是列时才起作用:新闻行填充“默认”但不填充列。

这就是我的尝试:

function defaultValueRenderer(instance, td, row, col, prop, value, cellProperties) {
  var args = $.extend(true, [], arguments);
  if (args[5] === null) {
      td.style.color = 'red';
      args[5] = "default";      
  }
  Handsontable.TextCell.renderer.apply(this, args);
}

var myData = [
    ["", "Kia", "Nissan", "Toyota", "Honda"],
    ["2008", 10, 11, 12, 13],
    ["2009", 20, 11, 14, 13],
    ["2010", 30, 15, 12, 13]
    ];

$("#exampleGrid").handsontable({
    data: myData,
    minSpareCols: 1,
    minSpareRows: 1,
    cells: function (row, col, prop) {
            var cellProperties = {};
            cellProperties.type = {renderer: defaultValueRenderer}
            return cellProperties;
        }
});​

添加备用列时似乎不会调用defaultValueRenderer函数(仅适用于备用行)。

http://jsfiddle.net/QtGau/2/

感谢您的提示

编辑:该值似乎是一个空字符串。我可能会把它当作一个工作场所,但我相信我在这里误解了一些东西

1 个答案:

答案 0 :(得分:0)

由于我没有回复,我正在回答我的自我。我使用=== null或===“”来破解arround。 它有效,它很难看,仍然比没有好;)