Я использую угловой 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);