使用带有angularjs的外部过滤器ag-grid时无法访问cellvalue

问题描述 投票:0回答:1

我在ag-grid中使用外部过滤器,该过滤器应该基于选择值下拉过滤记录,该下拉值具有与网格中的特定字段相对应的值。

并且我无法使用文档here中提到的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时,它表示“数据未定义”

有人可以帮我理解如何在这里访问特定字段的值。

ag-grid ag-grid-angular
1个回答
0
投票

您需要提供node作为函数的参数。 用适当的参数node调用此函数。

链接:Example External filter

     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'){}
       }
© www.soinside.com 2019 - 2024. All rights reserved.