我正在使用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,它将显示。
答案 0 :(得分:2)
cellRenderer
仅用于呈现单元格内容。虽然filter可以处理绑定到网格的数据中的值。
为此使用valueGetter
或valueFormatter
。
请参阅以下文档以更好地理解:
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