未触发农业电网比较器功能
ag-grid comparator function not being triggered
我将 ag-grid 9.X 与 angularJs 一起使用,当尝试为日期列设置比较器函数时,它没有被触发。
{
headerName: 'Date',
field: 'lastDate',
width:100,
sortable: true,
comparator: dateComparator,
}
我也设置了enableSorting: true
。该功能是否有可能在该版本的 ag-grid 中不可用?
谢谢!
我认为你的比较器的实现是个问题。你在使用静态函数吗?如果不行,试试这个,看看它是否有效。
{
headerName: 'Date',
field: 'lastDate',
width:100,
sortable: true,
comparator: (a, b) => {
//implement your comparator here.
},
}
因此,由于我无法使比较器功能正常工作,我使用了以下技巧对日期列进行排序:
确保输入网格的原始数据具有该列的 Javascript 日期对象而不是字符串(以便 ag-grid 的排序算法(使用“>”运算符)可以将这些日期作为日期而不是字符串进行比较)
示例:
data.forEach(function(obj,i){
let dateStr = obj.date
let year = dateStr.substring(0, 4)
let month = dateStr.substring(5, 7)
let day = dateStr.substring(8, 10)
let time = dateStr.substring(11, 21)
let date = new Date(year+"-"+month+"-"+day+" "+time)
data[i].date = date
})
$scope.gridConfig.data = data
其实通过这个问题我了解到ag-grid排序算法不作用于cellRenderer渲染的数据,也不作用于valueGetter。它实际上使用了原始数据。
- 可选:这些列将以 Javascript 日期对象 格式 呈现。
如果您希望这些日期具有特定格式,您可以使用 cellRenderer 函数或该列的 valueGetter 将这些日期解析回原始格式。不用担心,排序不会受到影响,因为它仍会使用原始数据中的日期对象。
您必须添加以下内容:
sort: 'asc',
我将 ag-grid 9.X 与 angularJs 一起使用,当尝试为日期列设置比较器函数时,它没有被触发。
{
headerName: 'Date',
field: 'lastDate',
width:100,
sortable: true,
comparator: dateComparator,
}
我也设置了enableSorting: true
。该功能是否有可能在该版本的 ag-grid 中不可用?
谢谢!
我认为你的比较器的实现是个问题。你在使用静态函数吗?如果不行,试试这个,看看它是否有效。
{
headerName: 'Date',
field: 'lastDate',
width:100,
sortable: true,
comparator: (a, b) => {
//implement your comparator here.
},
}
因此,由于我无法使比较器功能正常工作,我使用了以下技巧对日期列进行排序:
确保输入网格的原始数据具有该列的 Javascript 日期对象而不是字符串(以便 ag-grid 的排序算法(使用“>”运算符)可以将这些日期作为日期而不是字符串进行比较) 示例:
data.forEach(function(obj,i){ let dateStr = obj.date let year = dateStr.substring(0, 4) let month = dateStr.substring(5, 7) let day = dateStr.substring(8, 10) let time = dateStr.substring(11, 21) let date = new Date(year+"-"+month+"-"+day+" "+time) data[i].date = date }) $scope.gridConfig.data = data
其实通过这个问题我了解到ag-grid排序算法不作用于cellRenderer渲染的数据,也不作用于valueGetter。它实际上使用了原始数据。
- 可选:这些列将以 Javascript 日期对象 格式 呈现。 如果您希望这些日期具有特定格式,您可以使用 cellRenderer 函数或该列的 valueGetter 将这些日期解析回原始格式。不用担心,排序不会受到影响,因为它仍会使用原始数据中的日期对象。
您必须添加以下内容:
sort: 'asc',