Я использую свойство 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, он будет отображаться.

1
Mark Yu 21 Сен 2018 в 08:27

2 ответа

Лучший ответ

Вот попробуй это.

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

Я просто изменил значения с cellRenderer на valueGetter

2
DevLee 21 Сен 2018 в 05:52

cellRenderer просто отображает содержимое ячейки. Пока фильтр работает со значениями в данных, привязанных к сетке.

Используйте для этого valueGetter или valueFormatter.

Обратитесь к документации ниже для лучшего понимания:
1. Получатель значений
2. Форматирование значений и средство визуализации ячеек

cellRenderer предназначен для случаев, когда вы хотите добавить в ячейку разметку HTML и потенциально функциональные возможности. Так, например, если вы хотите поместить пунктуацию в значение, используйте valueFormatter, если вы хотите поместить кнопки или ссылки HTML, используйте cellRenderer. Можно использовать их комбинацию, и в этом случае результат valueFormatter будет передан в cellRenderer.

2
Paritosh 21 Сен 2018 в 05:51