[英]ag-grid comparator function not being triggered
我將 ag-grid 9.X 與 angularJs 一起使用,當嘗試為日期列設置比較器 function 時,它不會被觸發。
{
headerName: 'Date',
field: 'lastDate',
width:100,
sortable: true,
comparator: dateComparator,
}
我還設置enableSorting: true
。 該功能是否有可能在該版本的 ag-grid 中不可用?
謝謝 !
因此,由於我無法讓比較器 function 工作,我使用以下技巧對日期列進行排序:
確保輸入網格的原始數據具有該列的 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。 它實際上使用原始數據。
我認為您的比較器的實施是問題所在。 您使用的是 static function 嗎? 如果不試試這個,看看它是否有效。
{
headerName: 'Date',
field: 'lastDate',
width:100,
sortable: true,
comparator: (a, b) => {
//implement your comparator here.
},
}
您必須添加以下內容:
sort: 'asc',
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.