ag-grid: доступ к данным строки в функции проверки фильтра

При использовании настраиваемых параметров фильтра в столбце сетки я столкнулся с необходимостью сравнить cellValue с каким-то другим значением той же строки и, похоже, не могу найти, как это сделать, учитывая, что ссылка на данные строки не передается в test функция.

columnDefs: [
{
    field: "Column 1",
    (...)
    filterParams: {
        filterOptions: [
            'lessThan',
            'greaterThan',
            {
                displayKey: 'lessThanColumn2',
                displayName: 'Less Than column 2',
                test: function(filterValue, cellValue) {
                    return cellValue < rowData.column2; // <------ how?
                }
            },
    }
}
(...)
]

Использование valueGetter для включения всех необходимых данных в значение ячейки и отображение только соответствующей части с помощью Cell Renderer кажется обходным путем.

Можно ли добиться этого каким-либо другим способом без специального фильтра?

1 ответ

ColDef также имеет возможность определить filterValueGetter, вы можете попробовать сделать что-то вроде этого:

filterValueGetter: (params: ValueGetterParams) => {
    const rowData = params.data.$sourceDataItem;
    return rowData; // pass all row data
},

Я предполагаю, что filterValue в вашей тестовой функции теперь будет содержать данные строки.

Другие вопросы по тегам