Google Charts Datatable фильтрация по дате - PullRequest
0 голосов
/ 01 января 2019

Я пытаюсь найти все строки для определенного года.Год является типом string, но ячейка имеет тип date.

gDataTable:

business_id   date          severity
c02facce08ba  Dec 13, 2018  Critical

Вот мой код:

var yr = 2016,
    tl = gDataTable.getFilteredRows([{column: 1, value: yr.toString()}]);

Я получаю следующую ошибку:

Uncaught Error: Type mismatch. Value 2016 does not match type date in column index 1

Я понимаю, что типы значений должны быть одинаковыми, но я не могу найти способ фильтрации только по году данных столбца даты.

Ответы [ 2 ]

0 голосов
/ 01 января 2019

вместо предоставления свойства value,
вы можете использовать функцию test.

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

var yr = 2016;
var tl = gDataTable.getFilteredRows([{
  column: 1,
  test: function (value) {
    return (value.getFullYear() === yr);
  }
}]);
0 голосов
/ 01 января 2019

Попробуйте выполнить фильтрацию, используя minValue и maxValue для столбца даты:

minD = new Date(yr, 0, 1)
maxD = new Date(yr, 11, 31)
tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...