Handsontable example
by santhucool007
HTML
<div id="example2" class="hot handsontable"></div>
CSS
</style><!-- Ugly Hack due to jsFiddle issue -->
<script src="http://docs.handsontable.com/0.16.0/scripts/jquery.min.js"></script>
<script src="http://docs.handsontable.com/0.16.0/bower_components/handsontable/dist/handsontable.full.js"></script>
<link type="text/css" rel="stylesheet" href="http://docs.handsontable.com/0.16.0/bower_components/handsontable/dist/handsontable.full.min.css">
JavaScript
document.addEventListener("DOMContentLoaded", function() {
function getCarData() {
return [
{car: 'Nissan', year: 2012, chassis: 'black', bumper: 'black'},
{car: 'Nissan', year: 2013, chassis: 'blue', bumper: 'blue'},
{car: 'Chrysler', year: 2014, chassis: 'yellow', bumper: 'black'},
{car: 'Volvo', year: 2015, chassis: 'white', bumper: 'gray'}
];
}
var
container2 = document.getElementById('example2'),
hot2;
hot2 = new Handsontable(container2, {
data: getCarData(),
colHeaders: ['Car', 'Year', 'Chassis color', 'Bumper color']
});
hot2.updateSettings({
cells: function (row, col, prop) {
var cellProperties = {};
if (hot2.getData()[row][prop] === 'Nissan') {
cellProperties.editor = false;
} else {
cellProperties.editor = 'text';
}
return cellProperties;
}
})
function bindDumpButton() {
if (typeof Handsontable === "undefined") {
return;
}
Handsontable.Dom.addEvent(document.body, 'click', function (e) {
var element = e.target || e.srcElement;
if (element.nodeName == "BUTTON" && element.name == 'dump') {
var name = element.getAttribute('data-dump');
var instance = element.getAttribute('data-instance');
var hot = window[instance];
console.log('data of ' + name, hot.getData());
}
});
}
bindDumpButton();
});