onGridReady? api.setColumnDefs не удалось обновить динамический заголовок на основе критерия поиска (ag-Grid angular 1.6) - PullRequest
0 голосов
/ 03 сентября 2018

Я использую угловой 1.6, ag-grid, чтобы показать динамический заголовок столбца сетки. Вот фильтры на веб-странице. используйте фильтр «короткое имя» для динамического изменения заголовка столбца сетки. Это работает, когда я нажимаю кнопку отправить в первый раз. Но без обновления, когда я выбираю больше элементов в выпадающем списке короткого имени и снова нажимаю кнопку отправки. $ scope.poGridOptions.api.setColumnDefs ($ scope.poResColumnDefs) не работает. Я смотрю вокруг, некоторые документы говорят, что сетка должна быть готова перед использованием API. или добавьте $ timeout. Но я не знаю, как использовать его в угловой версии 1.6. Надеюсь получить образцы здесь.

частей кодов клавиш ниже.

 <div class="container">
                        <div   ng-style ="getSecondaryTableHeight()";
                              ag-grid="poGridOptions"
                              class="ag-theme-balham ag-basic"><!--class="ag-theme-balham ag-basic"-->
                        </div>

                    </div>
var header2Arr = ["Target","Closed","Pending","Testing %Completed","Defects","%Defects"];
function sixColumn(header1Arr, header2Arr) {
        header1Arr.forEach(function (checkpointItem,index) {
            var columnItemObj = {};
            var columnsName =[];

            if(index%2===0){
                var checkpointItemCss = 'checkpointItemCss-class';
            }else{
                var checkpointItemCss = 'checkpointItemCssEven-class';
            }
            header2Arr.forEach(function (oneColumn) {
                var columnString = checkpointItem + ' ' + oneColumn;
                columnsName.push(columnString);
            });

            columnItemObj =    {
                headerName: checkpointItem,
                headerClass: checkpointItemCss,
                children: [
                    //Target
                    {headerName: header2Arr[0],
                        headerClass: checkpointItemCss,
                        field: columnsName[0],
                        width: 52
                        //,cellRenderer: percentCellRenderer
                    },
                    //Closed
                    {headerName: header2Arr[1],
                        headerClass: checkpointItemCss,
                        field: columnsName[1],
                         width: 56
                        //,cellRenderer: percentCellRenderer
                    },
                    //pending
                    {headerName: header2Arr[2],
                        headerClass: checkpointItemCss,
                        field: columnsName[2],
                        width: 64
                        //,cellRenderer: percentCellRenderer
                    },
                    //Testing Completed
                    {headerName: header2Arr[3],
                        headerClass: checkpointItemCss,
                        field: columnsName[3],
                        width: 136
                    },
                    //Defects
                    {headerName: header2Arr[4],
                        headerClass: checkpointItemCss,
                        field: columnsName[4],
                        width: 62,
                        cellRenderer: percentCellRenderer
                    },
                    //%Defects
                    {headerName: header2Arr[5],
                        headerClass: checkpointItemCss,
                        field: columnsName[5],
                        width: 72
                    }
                ]
            };
            if(selectedStrategy[0] === "SOX"){
                $scope.resColumnDefs.push(columnItemObj);
            }else if(!selectedStrategy.length)
            {
                if(header1Arr[0].indexOf("SOX")>-1 || header1Arr[0].indexOf("Total")>-1){
                $scope.resColumnDefs.push(columnItemObj);
                }else{
                    $scope.poResColumnDefs.push(columnItemObj);
                }

               // console.log("hahahah");
            }else if(selectedStrategy[0] === "Secondary"){
                $scope.poResColumnDefs.push(columnItemObj);
            }

        });
    }
//$scope.poCheckpointArr dynamic array which user selected from the short name dropdown list
sixColumn($scope.poCheckpointArr,header2Arr);
$scope.poGridOptions.api.setColumnDefs($scope.poResColumnDefs);
...