sorting - ag-grid 行排序不适用于小数和空值
问题描述
我正在使用版本为 20.2.0 的 ag-grid
列包含正或负十进制值,例如 -0.000023 或 0.000000056387 或只是空白。
我已经为此列应用了 sortable: true
触发排序时,排序顺序如下所示:
0.0205
0.00883
-0.00893
0.0142
0.000239
-0.0135
0.0345
<blank>
0.00456
-0.355
-0.00166
我的期望是所有非空白数字都应该正确排序,并且所有空白都应该放在最后。
我试图在列定义中添加 valueFormatter 为:
{
headerName: field_name,
sortabke: true,
field: field_name,
valueFormatter: format_numbers
}
function format_numbers(val) {
if(val.value === 'NaN') {
return '';
}
else {
return Number(val.value).toPercision(3);
}
解决方案
请问你能提供一个plunker来演示吗?
valueFormatter 用于格式化显示给用户的值。您需要一个比较器函数来更改行的排序方式
https://www.ag-grid.com/angular-grid/row-sorting/#example-custom-sorting
{
headerName: field_name,
sortable: true,
field: field_name,
comparator: myComparator
}
function myComparator(value1, value2) {
if (value1 === null && value2 === null) {
return 0;
}
if (value1 === null) {
return -1;
}
if (value2 === null) {
return 1;
}
return value1 - value2;
}
免责声明,我刚刚从 ag-grid 网站复制了它,以防将来链接失败。不保证没有错别字!
推荐阅读
- nestjs - Class-Transformer:访问请求对象还是传入额外的元数据?
- authentication - 身份验证请求适用于 Postman,但不适用于 POST 请求
- r - 如何获得更合乎逻辑的比例尺?
- vba - 为什么表单对象不会在 VBA 中为 Ms Access 加载 RecordSource 属性
- r - R:对模式名称为“var1,var2 .... varN”的变量进行一次测试
- autohotkey - 当扫描码映射注册表中的按钮(Win、Ctrl、Alt)被阻止时,如何在 Autohotkey 中将 ctrl+c 重新映射为 ctrl+c?
- r - ggplotly() 忽略图例并使用 ggplot 图例生成不同的图
- set - 最小 k 子集交集
- winforms - 由于 Winforms 中的 AutoSize 不起作用,如何创建动态布局?
- java - 从依赖项加载外部资源包