Невозможно получить доступ к значению ячейки при использовании внешнего фильтра ag-grid с angularjs - PullRequest
0 голосов
/ 28 марта 2019

Я использую внешний фильтр в ag-grid, который должен фильтровать записи на основе выпадающего списка select value, значения которого соответствуют определенному полю в сетке.

И я не могу получить доступ к значению поля с помощью node.data.fieldName, как указано в документации здесь .

Вот что я делаю:

function isExternalFilterPresent() {

                    return $scope.filterval.ReleaseType!='All' && $scope.filterval.ReleaseType!='';
                }
                function doesExternalFilterPass(){
                    console.log('$scope.filterval.ReleaseType : ' ,$scope.filterval.ReleaseType);
                    if($scope.filterval.ReleaseType == 'A'){return node.data.ReleaseType = 'A';}
                    if($scope.filterval.ReleaseType == 'B'){}
                    if($scope.filterval.ReleaseType == 'C'){}
                    if($scope.filterval.ReleaseType == 'D'){}
                    if($scope.filterval.ReleaseType == 'D'){}
                }

выдает ошибку: узел не определен Когда я пытаюсь использовать только data.fieldName, он говорит: «данные не определены»

Может кто-нибудь помочь мне понять, как я могу получить доступ к значению определенного поля здесь.

1 Ответ

0 голосов
/ 28 марта 2019

Вам необходимо предоставить node в качестве аргумента функции. вызывает эту функцию с соответствующим аргументом node.

Ссылка: Пример Внешний фильтр

     function doesExternalFilterPass(node) {   // <- node as argument
       console.log('$scope.filterval.ReleaseType : ' ,$scope.filterval.ReleaseType);
       if($scope.filterval.ReleaseType == 'A'){return node.data.ReleaseType = 'A';}
           if($scope.filterval.ReleaseType == 'B'){}
             if($scope.filterval.ReleaseType == 'C'){}
             if($scope.filterval.ReleaseType == 'D'){}
             if($scope.filterval.ReleaseType == 'D'){}
       }
...