我想做类似于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函数(仅适用于备用行)。
感谢您的提示
编辑:该值似乎是一个空字符串。我可能会把它当作一个工作场所,但我相信我在这里误解了一些东西
答案 0 :(得分:0)
由于我没有回复,我正在回答我的自我。我使用=== null或===“”来破解arround。 它有效,它很难看,仍然比没有好;)