Неправильная сортировка фильтра Ag-grid - PullRequest
1 голос
/ 25 февраля 2020

Я использую ag-grid , и у меня есть небольшая проблема с фильтрацией чисел c:

enter image description here

Как вы можете видеть, сортировка идет хорошо, если только числа не равны 2xxx, но она начинает сбивать с толку, как только она достигает 3 чисел.

Я ожидаю, что сортировка начинается с 500 и go до 2400+ или наоборот. Может быть, я не знаю о специальной опции, чтобы добавить, чтобы достичь этого, я схожу с ума, пробуя разные варианты, но, похоже, ничего не работает. Я надеюсь, что вы можете помочь. Спасибо.

ОБНОВЛЕНИЕ :

Я воспроизвел проблему на оригинальном примере ag-grid по фильтрации: https://plnkr.co/edit/Tn9ZeCH4fmLr2ZHQPivQ?p=preview Я только что мутировал год значения и, как вы можете видеть, это не сортировка, как ожидалось.

if (r.year === 2008) r.year = 860
if (r.year === 2012) r.year = 920

1 Ответ

2 голосов
/ 25 февраля 2020

Причина в том, что данные сортируются как строки, а не числа. Так что просто добавьте пользовательскую сортировку в comparator для вашего поля 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
    },
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...