如何使用 ag-grid in-built 列过滤来过滤组合值

How to filter combined values using ag-grid in-built column filtering

我有一个这样的列定义。我合并了多个值以在标题列中显示为标题。但是每当我在列过滤器中键入内容时,内置列过滤都会返回空行。我在这里做错了什么。为什么列过滤不适用于组合值。如何实现。

title: {
                minWidth: 90,
                cellClassRules: {
                    'completedFieldClass': function(params) {
                        return params.value && params.value.completed;
                    }
                },
                cellStyle: getCellStyle,
                cellRenderer: function(params) {
                    var prqId = params.data.id;
                    var type = (!!params.data.type) ? params.data.type.value + ': ' : '';
                    var desc = (!!params.data.id) ? '- '+params.data.description : '';

                    if(!!params.data.access){
                        var concatTitle = '<a>';
                        concatTitle = concatTitle + '<strong>'+type+'</strong><span>'+params.value.value+'</span>';
                        concatTitle = concatTitle + '<span>'+desc+'</span></a>';
                        return concatTitle;
                    } else{
                        var concatTitle = '<span class="notprint">';
                        concatTitle = concatTitle + '<strong>'+type+'</strong><span>'+params.value.value+'</span>';
                        concatTitle = concatTitle + '<span>'+desc+'</span></span>';
                        return concatTitle;
                        //return '<span class="notprint">' + modValue + ''+ configDesc +'</span>';
                    }
                },
                sortable: false
            },

提前致谢

默认情况下,内置过滤器将查看单元格值 - 要覆盖它,您可以编写自己的 Custom Filter,或使用 valueGetter。

在您的特定情况下,使用 valueGetter 可能最简单,如下所示:

...
cellStyle: getCellStyle,
valueGetter: function(params) {
    // for example - you should extract your field logic and use it here too
    return params.data.id + params.data.access; 
},
cellRenderer: function(params) {
...