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 в вашей тестовой функции теперь будет содержать данные строки.