ag-grid 行排序不适用于小数和空值
ag-grid row sorting does not work with decimals and empty values
我正在使用版本为 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 网站复制了它,以防将来 link 失败。不保证没有错别字!
我正在使用版本为 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 网站复制了它,以防将来 link 失败。不保证没有错别字!