Javascript Ag网格过滤器排序错误
我使用的是数字过滤,但有一个小问题: 正如您所看到的,除非数字是2xxx,否则排序进行得很顺利,但当它达到3个数字时,就开始令人困惑 我所期望的是排序从500开始,上升到2400+或相反。也许我不知道有什么特别的选择可以实现这一点,我开始疯狂地尝试不同的选择,但似乎没有任何效果。我希望你能帮忙。谢谢 更新: 我在最初的ag网格过滤示例中再现了该问题: 我只是改变了年份值,正如您所看到的,它并没有按照预期进行排序Javascript Ag网格过滤器排序错误,javascript,ag-grid,Javascript,Ag Grid,我使用的是数字过滤,但有一个小问题: 正如您所看到的,除非数字是2xxx,否则排序进行得很顺利,但当它达到3个数字时,就开始令人困惑 我所期望的是排序从500开始,上升到2400+或相反。也许我不知道有什么特别的选择可以实现这一点,我开始疯狂地尝试不同的选择,但似乎没有任何效果。我希望你能帮忙。谢谢 更新: 我在最初的ag网格过滤示例中再现了该问题: 我只是改变了年份值,正如您所看到的,它并没有按照预期进行排序 if (r.year === 2008) r.year = 860 if (r.y
if (r.year === 2008) r.year = 860
if (r.year === 2012) r.year = 920
原因是它将数据排序为字符串,而不是数字。因此,只需将自定义排序添加到
比较器
的yeat
字段中:
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
},
}
它似乎是对字符串而不是数字进行排序。请分享你的代码。我不能分享整个项目,这是不可能的。但我在这里复制了它:请尝试在年份栏中过滤。这是我修改的ag网格的例子。我会尝试实现这个解决方案,谢谢你的回答。数据排序已经改变,但现在一切看起来都是随机的。问题中增加了截图,基本上去掉了主栏的排序,过滤器的排序失败。在plunker示例中,它看起来已排序,但主列中的排序已被破坏。经过一些额外的调整后,我已经能够对其进行排序,感谢您的帮助。Regards@AyeyeBrazo我很高兴这对你有帮助!:)