Ручная сортировка по столбцу даты

Я хочу отсортировать 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>

http://www.bossanova.uk/jexcel/using-a-calendar-column-type

Другие вопросы по тегам