使用cellRenderer处理复杂数据的AG-GRID角度过滤器

时间:2018-09-21 05:27:09

标签: ag-grid

我正在使用cellRenderer属性,我能够在表中显示数据,但是我正在使用if语句来更改数据的值。这是我的cellRenderer属性中的内容:

cellRenderer:function (params){
if(params.data.valueofdata === 1){
   return 'the value is one';
}else if(params.data.valueofdata === 2){
   return 'the value is two';
} else {
   return '';
} 

表中的显示是正确的,但是当我使用浮动过滤器或默认过滤器时,它不会根据我输入的正确值进行过滤。但是,如果我搜索1或2,它将显示。

2 个答案:

答案 0 :(得分:2)

cellRenderer仅用于呈现单元格内容。虽然filter可以处理绑定到网格的数据中的值。

为此使用valueGettervalueFormatter

请参阅以下文档以更好地理解:
1. Value Getter
2. Value Formatter vs Cell Renderer

  

cellRenderer用于需要在单元格中包含HTML标记和潜在功能的情况。因此,例如,如果您想将标点符号放入值中,请使用valueFormatter,如果您希望将按钮或HTML链接放入cellRenderer。可以将两者结合使用,在这种情况下,valueFormatter的结果将传递到cellRenderer。

答案 1 :(得分:2)

在这里尝试这个。

valueGetter: function (params) {
                if (params.data.identity === 1) {
                    return 'Serialised';
                } else if (params.data.identity === 2) {
                    return 'Batched';
                } else {
                    return '';
                }
            },

我刚刚将值从cellRenderer更改为valueGetter