2015-04-16 2 views
3

Мне нужно показать два типа gridOptions, не используя две сетки, пытающиеся изменить gridOptions, динамически не работающие (одно время работы).Динамическое изменение параметров сетки в угловом ui.grid

рабочий пример http://plnkr.co/edit/4QKGIB?p=preview.

$scope.grid1=function(){ 
    $scope.gridOptions = $scope.gridOptions1; 
    $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL); 
} 
$scope.grid2=function(){ 
    $scope.gridOptions = $scope.gridOptions2; 
    $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL); 
} 
+1

видеть, что это работает http://plnkr.co/edit/CvqzuRM4DzwxlbMs0kky?p=preview –

ответ

5

В основном вам нужно использовать angular.copy() при назначении columnDef к сетке, которая клонирует массив и установить его в gridOptions.

Код

$scope.gridOptions = angular.copy($scope.gridOptions1); 
$http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json') 
.success(function(data) { 
    $scope.gridOptions1.data = data; 
    $scope.gridOptions2.data = data; 
    $scope.grid1(); 
}); 
$scope.grid1=function(){ 
    $scope.gridOptions = angular.copy($scope.gridOptions1); 
    $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL); 
} 
$scope.grid2=function(){ 
    $scope.gridOptions = angular.copy($scope.gridOptions2); 
    $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL); 
} 

Working Plunkr

+0

Спасибо вам, если вы знаете, пожалуйста, помогите HTTP://stackoverflow.com/questions/29643310/change-the-menuitem-icon-in-angular-ui-gird – vamsikrishnamannem

Смежные вопросы