Handsontable example
by kc11
HTML
<input id="search_field4" placeholder="Search" type="search">
<p><span id="resultCount">0</span> results</p>
<div id="example4" class="hot handsontable htColumnHeaders"></div>
CSS
</style><!-- Ugly Hack due to jsFiddle issue -->
<script src="http://docs.handsontable.com/0.20.2/bower_components/handsontable/dist/handsontable.full.js"></script>
<link type="text/css" rel="stylesheet" href="http://docs.handsontable.com/0.20.2/bower_components/handsontable/dist/handsontable.full.min.css">
JavaScript
document.addEventListener("DOMContentLoaded", function() {
var
data = [
["Nissan", 2012, "black", "black"],
["Nissan", 2013, "blue", "blue"],
["Chrysler", 2014, "yellow", "black"],
["Volvo", 2015, "white", "gray"]
],
example4 = document.getElementById("example4"),
hot4, searchFiled4, resultCount,
searchResultCount = 0;
function searchResultCounter(instance, row, col, value, result) {
Handsontable.Search.DEFAULT_CALLBACK.apply(this, arguments);
if (result) {
searchResultCount++;
}
}
hot4 = new Handsontable(example4,{
data: data,
colHeaders: true,
search: {
callback: searchResultCounter
}
});
searchFiled4 = document.getElementById('search_field4');
resultCount = document.getElementById('resultCount');
Handsontable.Dom.addEvent(searchFiled4, 'keyup', function(event) {
var queryResult;
searchResultCount = 0;
queryResult = hot4.search.query(this.value);
console.log(queryResult);
resultCount.innerText = searchResultCount.toString();
hot4.render();
});
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();
});