我正在尝试查找特定年份的所有行。年份是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
我知道值类型必须相同,但是我找不到一种只对日期列数据的年份进行过滤的方法。
答案 0 :(得分:0)
尝试使用minValue
和maxValue
作为日期列进行过滤:
minD = new Date(yr, 0, 1)
maxD = new Date(yr, 11, 31)
tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]);
答案 1 :(得分:0)
而不是提供value
属性,
您可以使用test
函数。
对于应该包含在过滤器中的行,该函数应返回true
。
然后,只需比较日期的年份值即可。
var yr = 2016;
var tl = gDataTable.getFilteredRows([{
column: 1,
test: function (value) {
return (value.getFullYear() === yr);
}
}]);