我正在使用ag-grid我对数字过滤有一个小问题:
如您所见,除非数字是 2xxx,否则排序进展顺利,但一旦达到 3 个数字,排序就会开始困惑。
我所期望的是从 500 开始排序,一直到 2400+ 或相反。也许我不知道要添加一个特殊选项来实现这一目标,我疯狂地尝试不同的选项,但似乎没有任何效果。我希望你能帮忙。谢谢。
更新:
我在有关过滤的原始 ag-grid 示例中重现了该问题: https://plnkr.co/edit/Tn9ZeCH4fmLr2ZHQPivQ?p=preview我刚刚改变了年份值,正如您所看到的,它没有按预期排序。
if (r.year === 2008) r.year = 860
if (r.year === 2012) r.year = 920
最佳答案
这样做的原因是它将数据排序为字符串,而不是数字。因此,只需将自定义排序添加到 yeat
字段的 comparator
中即可:
var numberSort = (num1, num2) => {
return num1 - num2;
};
var columnDefs = [
/*The other code is omitted for the brevity*/
{headerName: "Year", field: "year", width: 90, comparator: numberSort},
/*The other code is omitted for the brevity*/
];
更新:
看起来您需要将 sortable
添加到 gridoptions
:
var gridOptions = {
defaultColDef: {
filter: true,
sortable: true
},
}
关于javascript - Ag-grid过滤器排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60394318/