У меня есть таблица ag-grid, и я передаю некоторые объекты в качестве данных. Я хочу добавить несколько пользовательских фильтров. Ниже у меня есть очень упрощенная версия моей проблемы.
У меня есть интерфейс VersionInfo
, который представляет объект, который я передаю в сетку.
export interface VersionInfo {
version: number;
// more fields here...
}
Затем я указываю схему сетка и добавить некоторые данные:
columnDefs = [
{
headerName: 'Version',
field: 'version',
filter: 'agNumberColumnFilter',
comparator: (a, b) => b.version - a.version,
cellRenderer: (params: ICellRendererParams) => {
return `Custom rendering ${params.data.version.version}`;
}
}
];
rowData = [
{ version: {version: 3} },
{ version: {version: 5} },
{ version: {version: 8} }
];
HTML выглядит следующим образом:
<ag-grid-angular
style="width: 500px; height: 200px;"
class="ag-theme-alpine"
[rowData]="rowData"
[columnDefs]="columnDefs">
</ag-grid-angular>
Все отлично работает за исключением comparator
. Я бы предположил, что это отсортирует таблицу в обратном порядке, но ничего не происходит, я просто получаю таблицу, как указано в rowData
, и как только что-то записывается в поле фильтра, все записи фильтруются. Как упоминалось ранее, это упрощенная версия, но проблема та же.