Data Grid Sorting
You can sort your javascript data grid by a double click in the header, using the context menu or by javascript as follow:
<html>
<script src="https://jspreadsheet.com/v7/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jspreadsheet.com/v7/jspreadsheet.css" type="text/css" />
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<div id="spreadsheet"></div>
<script>
let data = [
['Mazda', 2001, 2000, '2006-01-01', '453.00', '2', '=E1*F1'],
['Peugeot', 2010, 5000, '2005-01-01', '23.00', '5', '=E2*F2'],
['Honda Fit', 2009, 3000, '2004-01-01', '214.00', '3', '=E3*F3'],
['Honda CRV', 2010, 6000, '2003-01-01', '56.11', '2', '=E4*F4'],
];
let table = jspreadsheet(document.getElementById('spreadsheet'), {
data:data,
columns: [
{ type: 'text', width:300 },
{ type: 'text', width:80 },
{ type: 'text', width:100 },
{ type: 'calendar', width:100 },
{ type: 'number', width:100 },
{ type: 'number', width:100 },
{ type: 'number', width:100 },
],
license: 'ZjZkMzk5N2VlNGUyY2ZjZTI3OWFkZTM4NTc2MzQ2NmNkMDU1MjVhYTRlZmYwZDNlMjBmNjM4MGRmYjgwOGU1NjlhZjU0NmY0NGE0ZGIwZjUzMWE0MjA3YjA3NGU3NzJjNGIyZWJkZTZlNWNmYTRjMjEzMTYyYjAxYjMyYzcwYjUsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpNME9UUTNOalk0TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0ozWldJaUxDSnNiMk5oYkdodmMzUWlYU3dpY0d4aGJpSTZJak0wSWl3aWMyTnZjR1VpT2xzaWRqY2lMQ0oyT0NJc0luWTVJaXdpZGpFd0lpd2lkakV4SWl3aVkyaGhjblJ6SWl3aVptOXliWE1pTENKbWIzSnRkV3hoSWl3aWNHRnljMlZ5SWl3aWNtVnVaR1Z5SWl3aVkyOXRiV1Z1ZEhNaUxDSnBiWEJ2Y25SbGNpSXNJbUpoY2lJc0luWmhiR2xrWVhScGIyNXpJaXdpYzJWaGNtTm9JaXdpY0hKcGJuUWlMQ0p6YUdWbGRITWlMQ0pqYkdsbGJuUWlMQ0p6WlhKMlpYSWlMQ0p6YUdGd1pYTWlYU3dpWkdWdGJ5STZkSEoxWlgwPQ==',
});
document.getElementById("orderby").onclick = () => table.orderBy(document.getElementById('columnNumber').value);
</script>
<select id='columnNumber'>
<option value='0'>Column 1</option>
<option value='1'>Column 2</option>
<option value='2'>Column 3</option>
<option value='3'>Column 4</option>
</select>
<input type='button' value='Sort column' id="orderby"/>
</html>
Disable the javascript data grid sorting
The sorting is a native enabled feature, use the columnSorting: false directive in the initialization to disabled it.
<div id="spreadsheet"></div>
<script>
let data = [
['Mazda', 2001, 2000, '2006-01-01'],
['Peugeot', 2010, 5000, '2005-01-01'],
['Honda Fit', 2009, 3000, '2004-01-01'],
['Honda CRV', 2010, 6000, '2003-01-01'],
];
jspreadsheet(document.getElementById('spreadsheet'), {
data: data,
columns: [
{ type: 'text', tile:'Model', width:300 },
{ type: 'text', tile:'Year', width:100 },
{ type: 'text', tile:'Price', width:100 },
{ type: 'text', tile:'Date', width:100 },
],
columnSorting: false,
license: 'ZjZkMzk5N2VlNGUyY2ZjZTI3OWFkZTM4NTc2MzQ2NmNkMDU1MjVhYTRlZmYwZDNlMjBmNjM4MGRmYjgwOGU1NjlhZjU0NmY0NGE0ZGIwZjUzMWE0MjA3YjA3NGU3NzJjNGIyZWJkZTZlNWNmYTRjMjEzMTYyYjAxYjMyYzcwYjUsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpNME9UUTNOalk0TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0ozWldJaUxDSnNiMk5oYkdodmMzUWlYU3dpY0d4aGJpSTZJak0wSWl3aWMyTnZjR1VpT2xzaWRqY2lMQ0oyT0NJc0luWTVJaXdpZGpFd0lpd2lkakV4SWl3aVkyaGhjblJ6SWl3aVptOXliWE1pTENKbWIzSnRkV3hoSWl3aWNHRnljMlZ5SWl3aWNtVnVaR1Z5SWl3aVkyOXRiV1Z1ZEhNaUxDSnBiWEJ2Y25SbGNpSXNJbUpoY2lJc0luWmhiR2xrWVhScGIyNXpJaXdpYzJWaGNtTm9JaXdpY0hKcGJuUWlMQ0p6YUdWbGRITWlMQ0pqYkdsbGJuUWlMQ0p6WlhKMlpYSWlMQ0p6YUdGd1pYTWlYU3dpWkdWdGJ5STZkSEoxWlgwPQ==',
});
</script>
Related Events
Event | Description |
---|---|
onbeforesort | onbeforesort(DOMElement element, Number column, Number direction, Array newValue) : Array |
onsort | onsort(DOMElement element, Number column, Number direction, Array newValue) : void |