2015-07-21 1 views
1

Я делаю отображение дат в столбце, если это сегодняшняя дата, должен применяться класс css, если нет, должна отображаться только дата. Я попытался решить это так:проверить, является ли дата сегодняшней датой в столбце сетки kendo

template: "#if(Date == new Date()) {#<div class='todayClass'>#= kendo.toString(kendo.parseDate(Date, 'yyyy-MM-dd'), 'dd-MM-yyyy') #</div>#} else{#= kendo.toString(kendo.parseDate(Date, 'yyyy-MM-dd'), 'dd-MM-yyyy') #}#", 

, но я получаю сообщение об ошибке: «Дата не является конструктором», кто-нибудь знает, как решить эту проблему? Спасибо

ответ

3

Вы можете создать функцию для события dataBound, которое выполняет итерацию по строкам сетки и проверяет это конкретное поле.

function checkDates() { 
    var currentDate = new Date(); 
    currentDate = currentDate.setHours(0, 0, 0, 0); // eliminate the time from the date 
    dataView = this.dataSource.view(); 
    for (var i = 0; i < dataView.length; i++) { 
     // check if the fields match and apply a class to the row if so 
     var mydate = dataView[i].Date.setHours(0, 0, 0, 0); // eliminate the time from the date 
     if (mydate == currentDate) { // compare dates 
      var uid = dataView[i].uid; 
      $("#grid tbody").find("tr[data-uid=" + uid + "]").addClass("yourClass"); 
     } 
    } 
} 

Вам может понадобиться, чтобы сделать матч форматов даты, но это другой вопрос (не трудно решить)

EDIT

Я обратился форматирование даты для вас, так это безусловно, работает, как вы можете подтвердить в этом fiddle

+0

можно продолжить в чате? – Aviator

+0

Sure Aviator, ведущий путь – chiapa

+0

Я здесь: http://chat.stackoverflow.com/rooms/83178/js-condition-expand-row-in-kendo-grid – Aviator

Смежные вопросы