【问题标题】:ag-grid row sorting does not work with decimals and empty valuesag-grid 行排序不适用于小数和空值
【发布时间】:2021-07-28 08:01:03
【问题描述】:

我正在使用版本为 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);
}

【问题讨论】:

  • 你找到解决办法了吗

标签: sorting ag-grid ag-grid-angular


【解决方案1】:

请你提供一个 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 网站复制了该内容,以防将来链接失败。不保证没有错别字!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-16
    • 2019-01-06
    • 2019-04-12
    • 1970-01-01
    • 2019-07-25
    • 2019-08-08
    • 2019-08-31
    • 2020-02-26
    相关资源
    最近更新 更多