Ручная сортировка по столбцу даты
Я хочу отсортировать handsontable по столбцам даты. Я использую Moment.js, чтобы установить для базы данных dateformat немецкую локаль dateformat.
Это мой код:
var myData = [
{'date':moment('2012-12-01').locale('de').format('L'), 'Text':'abc'},
{'date':moment('2015-09-12').locale('de').format('L'), 'Text':'def'},
{'date':moment('2015-01-31').locale('de').format('L'), 'Text':'ghi'},
],
container = document.querySelector('#exampleGrid');
var hot = new Handsontable(container, {
data: myData,
//cols
colHeaders: ['Datum','Text'],
columns: [
{data:'date', type:'date', dateFormat:'DD.MM.YYYY', correctFormat:true},
{data:'Text'}
],
columnSorting: true,
sortIndicator: true
});
У вас есть идея, почему она не работает в этой скрипке?
1 ответ
Альтернативная электронная таблица JS, которая делает это проще.
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="http://cdn.bossanova.uk/js/jquery.jexcel.js"></script>
<script src="http://cdn.bossanova.uk/js/jquery.jcalendar.js"></script>
<link rel="stylesheet" href="http://cdn.bossanova.uk/css/jquery.jexcel.css" type="text/css" />
<link rel="stylesheet" href="http://cdn.bossanova.uk/css/jquery.jcalendar.css" type="text/css" />
<div id="my"></div>
<script>
data = [
['Mazda', 2001, 2000, '2006-01-01'],
['Pegeout', 2010, 5000, '2005-01-01'],
['Honda Fit', 2009, 3000, '2004-01-01'],
['Honda CRV', 2010, 6000, '2003-01-01'],
];
$('#my').jexcel({
data:data,
colHeaders: ['Model', 'Date', 'Price', 'Date'],
colWidths: [ 300, 80, 100, 100 ],
columns: [
{ type: 'text' },
{ type: 'numeric' },
{ type: 'numeric' },
{ type: 'calendar', options: { format:'DD/MM/YYYY' } },
]
});
</script>
</html>