ag-grid:在过滤器测试功能中访问行数据

时间:2019-11-26 14:49:41

标签: ag-grid ag-grid-angular ag-grid-react ag-grid-vue

在网格列中使用自定义过滤器选项时,我遇到了需要将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 个答案:

答案 0 :(得分:0)

ColDef还可以定义filterValueGetter,您可以尝试执行以下操作:

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

我想您的测试函数中的filterValue现在将包含行数据。