ag-grid:在过滤器测试功能中访问行数据
Posted
技术标签:
【中文标题】ag-grid:在过滤器测试功能中访问行数据【英文标题】:ag-grid: access row data in filter test function 【发布时间】:2020-03-22 00:36:05 【问题描述】:在网格列中使用自定义过滤器选项时,我遇到需要将 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 现在将包含行数据。
【讨论】:
以上是关于ag-grid:在过滤器测试功能中访问行数据的主要内容,如果未能解决你的问题,请参考以下文章
需要在 AG-Grid 过滤器中使用空格分隔值来返回每个匹配项