如何将默认值设置为仅检查Handson表中的新行?
在以下链接中,如何将列“C”checked = true设置为仅适用于新行。
有什么想法吗?
http://handsontable.com/demo/renderers.html
$(document).ready(function () {
var data = [
{id: 1, name: "Ted", isActive: true, color: "orange", date: "2008-01-01"},
{id: 2, name: "John", isActive: false, color: "black", date: null},
{id: 3, name: "Al", isActive: true, color: "red", date: null},
{id: 4, name: "Ben", isActive: false, color: "blue", date: null}
];
var yellowRenderer = function (instance, td, row, col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, arguments);
$(td).css({
background: 'yellow'
});
};
var greenRenderer = function (instance, td, row, col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, arguments);
$(td).css({
background: 'green'
});
};
var $container = $("#example1");
$container.handsontable({
data: data,
startRows: 5,
colHeaders: true,
minSpareRows: 1,
columns: [
{data: "id", type: 'text'},
//'text' is default, you don't actually have to declare it
{data: "name", type: {renderer: yellowRenderer}},
{data: "isActive", type: 'checkbox'},
{data: "date", type: 'date'},
{data: "color",
type: 'autocomplete',
source: ["yellow", "red", "orange", "green", "blue", "gray", "black", "white"]
}
],
cells: function (row, col, prop) {
if (row === 0 && col === 0) {
this.renderer = greenRenderer;
}
}
});
function bindDumpButton() {
$('body').on('click', 'button[name=dump]', function () {
var dump = $(this).data('dump');
var $container = $(dump);
console.log('data of ' + dump, $container.handsontable('getData'));
});
}
bindDumpButton();
});
答案 0 :(得分:1)
我能够弄清楚自己
我们可以通过向afterCreateRow回调添加一些代码来为新创建的行设置默认列值。我确实将以下代码添加到afterCreateRow回调似乎工作正常。
afterCreateRow: function(index) {
if (handsontable != undefined) {
var data = $("#hsTable").data('handsontable').getData();
data[index - 1].(dataSchemaField)= true;
}
}